
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */
/* DWARF original prototype: void TransparentPaintImage._omp_fn.2(anon_struct_36_9_094e039a *
   param_0) */

void __thiscall TransparentPaintImage__omp_fn_2(void *this)

{
  undefined *puVar1;
  int *piVar2;
  float **ppfVar3;
  int iVar4;
  int iVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 *puVar9;
  uint uVar10;
  undefined4 *puVar11;
  void *pvVar12;
  double *pdVar13;
  int iVar14;
  double *pdVar15;
  undefined4 uVar16;
  int iVar17;
  undefined *puVar18;
  int *piVar19;
  int iVar20;
  int *piVar21;
  undefined4 *puVar22;
  uint uVar23;
  float **ppfVar24;
  uint uVar25;
  int iVar26;
  undefined *in_a1;
  float *in_a2;
  int in_a3;
  int iVar27;
  undefined4 uVar28;
  float *pfVar29;
  float *pfVar30;
  int *unaff_s0;
  float *pfVar31;
  float *pfVar32;
  double *pdVar33;
  double *pdVar34;
  uint unaff_s4;
  int *piVar35;
  undefined4 *unaff_s5;
  float **unaff_s6;
  uint uVar36;
  int unaff_s7;
  undefined4 *puVar37;
  code *pcVar38;
  code *pcVar39;
  code *pcVar40;
  double dVar41;
  int iVar42;
  float fVar43;
  int iVar44;
  int iVar45;
  double in_f20_21;
  double dVar46;
  ulonglong uVar47;
  double in_f22_23;
  double dVar48;
  ulonglong uVar49;
  undefined8 uVar50;
  int iVar51;
  int *piVar52;
  uint uStack_390;
  int aiStack_368 [10];
  double dStack_340;
  double dStack_338;
  double dStack_330;
  double dStack_328;
  double dStack_320;
  undefined4 uStack_310;
  undefined4 uStack_30c;
  undefined4 uStack_308;
  undefined8 uStack_300;
  undefined4 uStack_2f8;
  double dStack_2e8;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  double dStack_2c8;
  double dStack_2c0;
  int iStack_2b4;
  float *pfStack_2b0;
  int *piStack_2ac;
  undefined4 *puStack_2a8;
  void *pvStack_2a4;
  uint uStack_2a0;
  undefined4 *puStack_29c;
  float **ppfStack_298;
  undefined4 *puStack_294;
  undefined4 *puStack_290;
  code *pcStack_28c;
  double dStack_288;
  double dStack_280;
  int iStack_248;
  undefined *puStack_244;
  code *pcStack_240;
  float *pfStack_234;
  undefined4 *puStack_230;
  undefined *puStack_22c;
  int *piStack_228;
  undefined *puStack_224;
  float *pfStack_220;
  undefined4 uStack_21c;
  undefined4 uStack_218;
  undefined8 uStack_210;
  undefined4 uStack_208;
  double dStack_1f8;
  double dStack_1f0;
  double dStack_1e8;
  double dStack_1e0;
  double dStack_1d8;
  double dStack_1d0;
  int iStack_1c4;
  int *piStack_1c0;
  float *pfStack_1bc;
  float *pfStack_1b8;
  void *pvStack_1b4;
  uint uStack_1b0;
  undefined4 *puStack_1ac;
  float **ppfStack_1a8;
  undefined4 *puStack_1a4;
  undefined4 *puStack_1a0;
  code *pcStack_19c;
  double dStack_198;
  double dStack_190;
  undefined4 uStack_178;
  undefined *puStack_174;
  undefined *puStack_170;
  undefined *puStack_164;
  int *piStack_160;
  undefined *puStack_15c;
  float *apfStack_158 [4];
  undefined8 uStack_148;
  undefined4 uStack_140;
  double dStack_130;
  double dStack_128;
  double dStack_120;
  double dStack_118;
  double dStack_110;
  double dStack_108;
  int iStack_fc;
  int *piStack_f8;
  float *pfStack_f4;
  float *pfStack_f0;
  void *pvStack_ec;
  uint uStack_e8;
  undefined4 *puStack_e4;
  float **ppfStack_e0;
  int iStack_dc;
  undefined4 *puStack_d8;
  code *pcStack_d4;
  double dStack_d0;
  undefined4 local_b8;
  undefined *local_b4;
  float *local_98 [4];
  undefined8 local_88;
  undefined4 local_80;
  double local_70;
  double local_68;
  double local_60;
  double local_58;
  double local_50;
  double local_48;
  int local_3c;
  
  puVar18 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
                    /* WARNING: Load size is inaccurate */
  puVar37 = *this;
  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();
  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar51 = (int)puVar37[7] / iVar4;
  iVar4 = (int)puVar37[7] % iVar4;
  puVar22 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar22 != (undefined4 *)0x0) {
    iVar51 = iVar51 + 1;
    iVar4 = 0;
  }
  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);
  pfVar32 = (float *)(iVar51 + (int)pfVar31);
  if ((int)pfVar31 < (int)pfVar32) {
    unaff_s6 = local_98;
    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))
    ;
    unaff_s5 = *(undefined4 **)((int)this + 0xc);
    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);
    puVar6 = *(undefined4 **)((int)this + 0x14);
    unaff_s4 = *(uint *)((int)this + 4);
    puVar7 = *(undefined **)((int)this + 0x10);
    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;
    do {
      if (*(int *)((int)this + 0x1c) != 0) {
        in_a1 = (undefined *)0x0;
        in_a3 = puVar37[6];
        local_b8 = 1;
        puVar22 = puVar6;
        in_a2 = pfVar31;
        local_b4 = puVar7;
        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();
        if (unaff_s7 == 0) {
LAB_00123734:
          *(undefined4 *)((int)this + 0x1c) = 0;
        }
        else {
          puVar9 = *(undefined4 **)((int)this + 0x18);
          puVar22 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar24 = ppfVar3;
            puVar11 = puVar22;
            puVar22 = puVar11 + 4;
            pfVar30 = (float *)puVar11[1];
            pfVar29 = (float *)puVar11[2];
            in_a2 = (float *)puVar11[3];
            *ppfVar24 = (float *)*puVar11;
            ppfVar24[1] = pfVar30;
            ppfVar24[2] = pfVar29;
            ppfVar24[3] = in_a2;
            ppfVar3 = ppfVar24 + 4;
          } while (puVar22 != puVar9 + 0x14);
          pfVar29 = (float *)puVar11[5];
          ppfVar24[4] = (float *)*puVar22;
          ppfVar24[5] = pfVar29;
          if (0 < (int)puVar37[6]) {
            unaff_s0 = (int *)0x0;
            do {
              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);
              local_88 = *(undefined8 *)(puVar37 + 0x92);
              local_98[0] = (float *)*puVar37;
              local_98[1] = (float *)puVar37[1];
              local_80 = puVar37[8];
              local_98[2] = (float *)puVar37[0xaf];
              in_a2 = local_98[0];
              local_50 = in_f20_21;
              if (unaff_s7 != 0) {
                iVar4 = puVar37[0xb4];
                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);
                local_70 = (double)*in_a2;
                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);
                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  local_98[2] = (float *)0x4;
                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);
                }
              }
              puVar22 = (undefined4 *)
                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);
              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {
                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;
            } while ((int)unaff_s0 < (int)puVar37[6]);
          }
          puVar22 = puVar6;
          in_a1 = puVar7;
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();
          if (iVar4 == 0) {
            *(undefined4 *)((int)this + 0x1c) = 0;
          }
          if (puVar37[0xca] != 0) {
            unaff_s0 = *(int **)((int)this + 0x20);
            (*(code *)PTR_GOMP_atomic_start_003a92e4)();
            puVar1 = PTR_GOMP_atomic_end_003a9438;
            uVar10 = unaff_s0[1];
            uVar23 = uVar10 + 1;
            unaff_s0[1] = uVar23;
            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;
            (*(code *)puVar1)();
            local_b4 = (undefined *)puVar37[7];
            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];
            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);
            local_b8 = 0;
            puVar22 = puVar37;
            in_a1 = puVar8;
            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();
            if (iVar4 == 0) goto LAB_00123734;
          }
        }
      }
      pfVar31 = (float *)((int)pfVar31 + 1);
    } while (pfVar32 != pfVar31);
  }
  if (local_3c == *(int *)puVar18) {
    return;
  }
  pcVar38 = OpaquePaintImage__omp_fn_1;
  puVar18 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puStack_170 = puVar18 + 0x28d118;
  piStack_160 = *(int **)(puVar18 + 0x285a98);
  iStack_fc = *piStack_160;
  puVar6 = (undefined4 *)*puVar22;
  piStack_f8 = unaff_s0;
  pfStack_f4 = pfVar31;
  pfStack_f0 = pfVar32;
  pvStack_ec = this;
  uStack_e8 = unaff_s4;
  puStack_e4 = unaff_s5;
  ppfStack_e0 = unaff_s6;
  iStack_dc = unaff_s7;
  puStack_d8 = puVar37;
  pcStack_d4 = pcVar38;
  dStack_d0 = in_f20_21;
  iVar4 = (**(code **)(puVar18 + 0x286174))();
  iVar5 = (**(code **)(puStack_170 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar51 = (int)puVar6[7] / iVar4;
  iVar4 = (int)puVar6[7] % iVar4;
  puVar37 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar37 != (undefined4 *)0x0) {
    iVar51 = iVar51 + 1;
    iVar4 = 0;
  }
  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);
  pfVar32 = (float *)(iVar51 + (int)pfVar31);
  puVar18 = puStack_170;
  if ((int)pfVar31 < (int)pfVar32) {
    unaff_s6 = apfStack_158;
    unaff_s5 = (undefined4 *)puVar22[3];
    this = (void *)puVar22[1];
    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);
    puStack_164 = (undefined *)puVar22[2];
    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);
    do {
      if (puVar22[7] != 0) {
        in_a1 = (undefined *)0x0;
        in_a3 = puVar6[6];
        puStack_174 = puStack_164;
        uStack_178 = 1;
        puVar37 = unaff_s5;
        in_a2 = pfVar31;
        unaff_s4 = (**(code **)(puVar18 + -0x7264))();
        if (unaff_s4 == 0) {
LAB_00123bb4:
          puVar22[7] = 0;
          puVar18 = puStack_170;
        }
        else {
          puVar9 = (undefined4 *)puVar22[6];
          puVar37 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar24 = ppfVar3;
            puVar11 = puVar37;
            puVar37 = puVar11 + 4;
            pfVar30 = (float *)puVar11[1];
            pfVar29 = (float *)puVar11[2];
            in_a2 = (float *)puVar11[3];
            *ppfVar24 = (float *)*puVar11;
            ppfVar24[1] = pfVar30;
            ppfVar24[2] = pfVar29;
            ppfVar24[3] = in_a2;
            ppfVar3 = ppfVar24 + 4;
          } while (puVar37 != puVar9 + 0x14);
          pfVar29 = (float *)puVar11[5];
          ppfVar24[4] = (float *)*puVar37;
          ppfVar24[5] = pfVar29;
          unaff_s0 = (int *)0x0;
          if (0 < (int)puVar6[6]) {
            pcVar38 = *(code **)(puStack_170 + -0x78bc);
            do {
              (*pcVar38)(unaff_s6,0,0x58);
              uStack_148 = *(undefined8 *)(puVar6 + 0x92);
              apfStack_158[0] = (float *)*puVar6;
              apfStack_158[1] = (float *)puVar6[1];
              uStack_140 = puVar6[8];
              apfStack_158[2] = (float *)puVar6[0xaf];
              in_a2 = apfStack_158[0];
              dStack_110 = in_f20_21;
              if (unaff_s4 == 0) {
LAB_00123a48:
                pcVar38 = *(code **)(puStack_170 + -0x792c);
              }
              else {
                iVar4 = puVar6[0xb4];
                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);
                dStack_130 = (double)*in_a2;
                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);
                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  apfStack_158[2] = (float *)0x4;
                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);
                }
                pcVar38 = *(code **)(puStack_170 + -0x792c);
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);
                  goto LAB_00123a48;
                }
              }
              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);
              if (this != pvVar12) {
                iVar4 = puVar6[0xb4];
                if ((*(uint *)(iVar4 + 4) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =
                       (float)*(double *)(puVar22[4] + 0x28);
                }
                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =
                       (float)*(double *)(puVar22[4] + 0x30);
                }
                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =
                       (float)*(double *)(puVar22[4] + 0x38);
                }
                uVar10 = *(uint *)(iVar4 + 0x34) & 2;
                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {
                  if (uVar10 != 0) {
                    dVar41 = *(double *)(puVar22[4] + 0x48);
                    goto LAB_0012391c;
                  }
                }
                else {
                  in_a2 = (float *)puVar22[4];
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =
                       (float)*(double *)(in_a2 + 0x10);
                  if (uVar10 != 0) {
                    dVar41 = *(double *)(in_a2 + 0x12);
LAB_0012391c:
                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;
                  }
                }
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;
              if ((int)puVar6[6] <= (int)unaff_s0) break;
              pcVar38 = *(code **)(puStack_170 + -0x78bc);
            } while( true );
          }
          puVar37 = unaff_s5;
          in_a1 = puStack_164;
          iVar4 = (**(code **)(puStack_170 + -0x73b8))();
          if (iVar4 == 0) {
            puVar22[7] = 0;
          }
          puVar18 = puStack_170;
          if (puVar6[0xca] != 0) {
            unaff_s0 = (int *)puVar22[8];
            (**(code **)(puStack_170 + -0x75cc))();
            uVar10 = unaff_s0[1];
            uVar23 = uVar10 + 1;
            pcVar38 = *(code **)(puStack_170 + -0x7478);
            unaff_s0[1] = uVar23;
            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;
            (*pcVar38)();
            puStack_174 = (undefined *)puVar6[7];
            in_a3 = ((undefined4 *)puVar22[8])[1];
            in_a2 = *(float **)puVar22[8];
            uStack_178 = 0;
            puVar37 = puVar6;
            in_a1 = puStack_15c;
            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();
            puVar18 = puStack_170;
            if (iVar4 == 0) goto LAB_00123bb4;
          }
        }
      }
      pfVar31 = (float *)((int)pfVar31 + 1);
    } while (pfVar32 != pfVar31);
  }
  if (iStack_fc == *piStack_160) {
    return;
  }
  pcVar38 = *(code **)(puVar18 + -0x784c);
  pcVar39 = TransparentPaintImageChroma__omp_fn_3;
  (*pcVar38)();
  pcStack_240 = pcVar38 + 0x28cc9c;
  piStack_228 = *(int **)(pcVar38 + 0x28561c);
  iStack_1c4 = *piStack_228;
  puVar9 = (undefined4 *)*puVar37;
  piStack_1c0 = unaff_s0;
  pfStack_1bc = pfVar31;
  pfStack_1b8 = pfVar32;
  pvStack_1b4 = this;
  uStack_1b0 = unaff_s4;
  puStack_1ac = unaff_s5;
  ppfStack_1a8 = unaff_s6;
  puStack_1a4 = puVar22;
  puStack_1a0 = puVar6;
  pcStack_19c = pcVar39;
  dStack_198 = in_f20_21;
  dStack_190 = in_f22_23;
  iVar4 = (**(code **)(pcVar38 + 0x285cf8))();
  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  piVar52 = (int *)((int)puVar9[7] / iVar4);
  iVar4 = (int)puVar9[7] % iVar4;
  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar6 != (undefined4 *)0x0) {
    piVar52 = (int *)((int)piVar52 + 1);
    iVar4 = 0;
  }
  pfVar31 = (float *)((int)piVar52 * iVar5 + iVar4);
  pfStack_234 = (float *)((int)piVar52 + (int)pfVar31);
  pcVar38 = pcStack_240;
  if ((int)pfVar31 < (int)pfStack_234) {
    unaff_s6 = &pfStack_220;
    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3]);
    unaff_s4 = puVar37[4];
    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);
    puStack_230 = (undefined4 *)puVar37[6];
    unaff_s5 = (undefined4 *)puVar37[2];
    this = (void *)puVar37[1];
    puStack_22c = (undefined *)puVar37[5];
    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);
    do {
      if (puVar37[7] != 0) {
        in_a1 = (undefined *)0x0;
        in_a3 = puVar9[6];
        puStack_244 = puStack_22c;
        iStack_248 = 1;
        puVar6 = puStack_230;
        in_a2 = pfVar31;
        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();
        if (piVar52 == (int *)0x0) {
LAB_00123f74:
          puVar37[7] = 0;
          pcVar38 = pcStack_240;
        }
        else {
          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);
          if (0 < (int)puVar9[6]) {
            puVar22 = (undefined4 *)0x0;
            do {
              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);
              uStack_210 = *(undefined8 *)(puVar9 + 0x92);
              pfStack_220 = (float *)*puVar9;
              uStack_21c = puVar9[1];
              uStack_208 = puVar9[8];
              uStack_218 = puVar9[0xaf];
              in_a2 = pfStack_220;
              dStack_1d8 = in_f22_23;
              if (piVar52 != (int *)0x0) {
                iVar4 = puVar9[0xb4];
                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));
                dStack_1f8 = (double)*in_a2;
                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];
                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  uStack_218 = 4;
                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];
                }
              }
              uVar10 = 0;
              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&
                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&
                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {
                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||
                   (dStack_1e8 < *(double *)((int)this + 0x38))) {
                  uVar10 = 0;
                }
                else {
                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));
                }
              }
              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {
                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);
              }
              puVar22 = (undefined4 *)((int)puVar22 + 1);
              piVar52 = piVar52 + puVar9[0xb0];
            } while ((int)puVar22 < (int)puVar9[6]);
          }
          puVar6 = puStack_230;
          in_a1 = puStack_22c;
          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();
          if (iVar4 == 0) {
            puVar37[7] = 0;
          }
          pcVar38 = pcStack_240;
          if (puVar9[0xca] != 0) {
            piVar52 = (int *)puVar37[8];
            (**(code **)(pcStack_240 + -0x75cc))();
            uVar10 = piVar52[1];
            uVar23 = uVar10 + 1;
            pcVar38 = *(code **)(pcStack_240 + -0x7478);
            piVar52[1] = uVar23;
            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;
            (*pcVar38)();
            puStack_244 = (undefined *)puVar9[7];
            in_a3 = ((undefined4 *)puVar37[8])[1];
            in_a2 = *(float **)puVar37[8];
            iStack_248 = 0;
            puVar6 = puVar9;
            in_a1 = puStack_224;
            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();
            pcVar38 = pcStack_240;
            if (iVar4 == 0) goto LAB_00123f74;
          }
        }
      }
      pfVar31 = (float *)((int)pfVar31 + 1);
    } while (pfStack_234 != pfVar31);
  }
  if (iStack_1c4 == *piStack_228) {
    return;
  }
  pcVar39 = *(code **)(pcVar38 + -0x784c);
  pcVar40 = FloodfillPaintImage;
  (*pcVar39)();
  pcVar38 = pcStack_240;
  piVar35 = *(int **)(pcVar39 + 0x285224);
  iStack_2b4 = *piVar35;
  pfStack_2b0 = pfVar31;
  piStack_2ac = piVar52;
  puStack_2a8 = puVar37;
  pvStack_2a4 = this;
  uStack_2a0 = unaff_s4;
  puStack_29c = unaff_s5;
  ppfStack_298 = unaff_s6;
  puStack_294 = puVar22;
  puStack_290 = puVar9;
  pcStack_28c = pcVar40;
  dStack_288 = in_f20_21;
  dStack_280 = in_f22_23;
  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;
  if (puVar6[0xcdb] == -0x54535255) {
    if (puVar6[0xcd4] != 0) {
      (**(code **)(pcVar39 + 0x2851d4))
                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,
                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);
    }
    if (in_a1 != (undefined *)0x0) {
      if (*(int *)(in_a1 + 0x390) == -0x54535255) {
        if (in_a3 < 0) goto LAB_001240ec;
        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;
        if (iStack_248 < 0) goto LAB_001240ec;
        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;
        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);
        if (iVar4 == 0) goto LAB_001240ec;
        if (puVar6[1] == 0x21) {
          pcVar40 = *(code **)(pcVar39 + 0x284d34);
        }
        else {
          pcVar40 = *(code **)(pcVar39 + 0x284d34);
          if (puVar6[1] != 3) goto LAB_001241b0;
        }
        (*pcVar40)(puVar6,0x17,pcVar38);
LAB_001241b0:
        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {
          (**(code **)(pcVar39 + 0x284c6c))
                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);
        }
        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);
        if (iVar4 == 0) goto LAB_001240ec;
        iVar5 = *(int *)(pcVar39 + 0x2848d8);
        pcVar40 = *(code **)(pcVar39 + 0x284e08);
        *(undefined4 *)(iVar4 + 700) = 0;
        *(undefined4 *)(iVar4 + 4) = 3;
        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);
        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);
        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);
        if (iVar5 == 0) {
          puVar6 = puVar6 + 0xd0;
          (**(code **)(pcVar39 + 0x284f40))(iVar4);
          (**(code **)(pcVar39 + 0x284f14))
                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,
                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,
                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,
                     puVar6);
          goto LAB_001240ec;
        }
        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);
        iVar51 = puVar6[7];
        pdVar34 = pdVar13;
        if (iStack_248 + 1 < iVar51) {
          iVar14 = *(int *)(pcVar39 + 0x2848d4);
          *pdVar13 = (double)in_a3;
          pdVar13[2] = (double)in_a3;
          dVar41 = *(double *)(iVar14 + 0x1438);
          pdVar13[1] = (double)iStack_248;
          pdVar13[3] = dVar41;
          pdVar34 = pdVar13 + 4;
        }
        pdVar15 = pdVar13 + 0x200000;
        if (pdVar15 <= pdVar34) {
          puVar6 = puVar6 + 0xd0;
          uVar28 = 0xd4;
          goto LAB_00124ee4;
        }
        pcVar40 = *(code **)(pcVar39 + 0x2852a8);
        pdVar33 = pdVar34;
        if (iStack_248 < iVar51) {
          iVar51 = *(int *)(pcVar39 + 0x2848d4);
          pdVar33 = pdVar34 + 4;
          *pdVar34 = (double)in_a3;
          pdVar34[2] = (double)in_a3;
          dVar41 = *(double *)(iVar51 + 0x1a78);
          pdVar34[1] = (double)(iStack_248 + 1);
          pdVar34[3] = dVar41;
        }
        (*pcVar40)(puVar6,&uStack_310);
        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);
        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);
        if (pdVar13 < pdVar33) {
          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);
          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);
          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);
          dVar41 = dVar46;
          dVar48 = dVar46;
          do {
            pdVar34 = pdVar33 + -4;
            uVar23 = (uint)pdVar33[-4];
            iVar45 = (int)pdVar33[-1];
            iVar44 = (int)pdVar33[-3];
            iVar42 = (int)pdVar33[-2];
            uVar10 = uVar23 + 1;
            iVar51 = iVar44 + iVar45;
            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);
            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);
            puVar18 = puStack_244;
            if ((iVar14 == 0) || (iVar17 == 0)) break;
            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;
            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;
            uVar36 = uVar23;
            if ((int)uVar23 < 0) {
              pcVar40 = *(code **)(pcVar39 + 0x2854ec);
LAB_00125018:
              iVar14 = (*pcVar40)(uVar16,pcVar38);
              if (iVar14 == 0) break;
            }
            else {
              pcVar40 = *(code **)(pcVar39 + 0x2854ec);
              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)
              goto LAB_00125018;
              do {
                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);
                uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                uStack_310 = *puVar6;
                uStack_30c = puVar6[1];
                uStack_2f8 = puVar6[8];
                uStack_308 = puVar6[0xaf];
                dStack_2c8 = dVar48;
                if (iVar14 == 0) {
LAB_001245ec:
                  pcVar40 = *(code **)(pcVar39 + 0x284f78);
                }
                else {
                  iVar20 = puVar6[0xb4];
                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);
                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);
                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);
                  if (*(int *)(iVar20 + 0x28) != 0) {
                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);
                  }
                  if (*(int *)(iVar20 + 0x34) != 0) {
                    uStack_308 = 4;
                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);
                  }
                  pcVar40 = *(code **)(pcVar39 + 0x284f78);
                  if (*(int *)(iVar20 + 0x40) != 0) {
                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);
                    goto LAB_001245ec;
                  }
                }
                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);
                if (puVar7 == puVar18) {
                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);
                  break;
                }
                uVar36 = uVar36 - 1;
                iVar14 = iVar14 + puVar6[0xb0] * -4;
                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                puVar37 = (undefined4 *)(iVar17 + iVar20);
                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;
                *puVar37 = (int)uVar49;
                if (uVar36 == 0xffffffff) {
                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);
                  if (iVar14 == 0) goto LAB_0012465c;
                  uVar25 = uVar23 >> 0x1f;
                  goto LAB_00124dbc;
                }
                pcVar40 = *(code **)(pcVar39 + 0x2854ec);
              } while (*(float *)(iVar17 + iVar20) == 0.0);
              iVar14 = (*pcVar40)(uVar16,pcVar38);
              if (iVar14 == 0) break;
              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;
              if ((int)uVar36 < (int)uVar23 != 0) {
LAB_00124dbc:
                uStack_390 = uVar36 + 1;
                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;
                if (pdVar15 <= pdVar34) goto LAB_001250d8;
                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {
                  pdVar33[-4] = (double)(int)uStack_390;
                  pdVar33[-3] = (double)iVar51;
                  pdVar33[-2] = (double)(int)(uVar23 - 1);
                  pdVar33[-1] = (double)-iVar45;
                  pdVar34 = pdVar33;
                }
                uVar36 = uVar10;
                if (uVar25 == 0) {
                  iVar14 = puVar6[6];
                  goto LAB_00124a44;
                }
              }
            }
LAB_0012463c:
            uVar10 = uVar36 + 1;
            if ((int)uVar10 <= iVar42) {
              iVar17 = (iVar42 - uVar10) + 1;
              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);
              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);
              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {
                while (uStack_390 = uVar10,
                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==
                      (float)uVar50) {
                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);
                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                  uStack_310 = *puVar6;
                  uStack_30c = puVar6[1];
                  uStack_2f8 = puVar6[8];
                  uStack_308 = puVar6[0xaf];
                  dStack_2c8 = dVar46;
                  if (iVar14 == 0) {
LAB_001249ec:
                    pcVar40 = *(code **)(pcVar39 + 0x284f78);
                  }
                  else {
                    iVar20 = puVar6[0xb4];
                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);
                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);
                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);
                    if (*(int *)(iVar20 + 0x28) != 0) {
                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);
                    }
                    if (*(int *)(iVar20 + 0x34) != 0) {
                      uStack_308 = 4;
                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);
                    }
                    pcVar40 = *(code **)(pcVar39 + 0x284f78);
                    if (*(int *)(iVar20 + 0x40) != 0) {
                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);
                      goto LAB_001249ec;
                    }
                  }
                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);
                  if (puStack_244 != puVar18) break;
                  uVar10 = uVar10 + 1;
                  iVar14 = iVar14 + puVar6[0xb0] * 4;
                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;
                  if (iVar42 < (int)uVar10) goto LAB_0012464c;
                }
LAB_00124a40:
                iVar14 = puVar6[6];
LAB_00124a44:
                if (iVar14 <= (int)uVar10) goto LAB_00124a50;
                iVar14 = (**(code **)(pcVar39 + 0x285650))
                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);
                iVar17 = (**(code **)(pcVar39 + 0x285640))
                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);
                puVar18 = puStack_244;
                if ((iVar14 != 0) && (iVar17 != 0)) {
                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);
                  if (((int)uVar10 < (int)puVar6[6]) &&
                     (uVar50 = 0,
                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {
                    do {
                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);
                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                      uStack_310 = *puVar6;
                      uStack_30c = puVar6[1];
                      uStack_2f8 = puVar6[8];
                      uStack_308 = puVar6[0xaf];
                      dStack_2c8 = dVar41;
                      if (iVar14 == 0) {
LAB_00124d38:
                        pcVar40 = *(code **)(pcVar39 + 0x284f78);
                      }
                      else {
                        iVar20 = puVar6[0xb4];
                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);
                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);
                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);
                        if (*(int *)(iVar20 + 0x28) != 0) {
                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);
                        }
                        if (*(int *)(iVar20 + 0x34) != 0) {
                          uStack_308 = 4;
                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);
                        }
                        pcVar40 = *(code **)(pcVar39 + 0x284f78);
                        if (*(int *)(iVar20 + 0x40) != 0) {
                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);
                          goto LAB_00124d38;
                        }
                      }
                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);
                      if (puVar18 == puVar7) goto LAB_00124d50;
                      uVar10 = uVar10 + 1;
                      iVar26 = puVar6[6];
                      iVar14 = iVar14 + puVar6[0xb0] * 4;
                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                      puVar37 = (undefined4 *)(iVar17 + iVar20);
                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;
                      *puVar37 = (int)uVar47;
                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))
                      goto LAB_00124d50;
                    } while( true );
                  }
                  goto LAB_00124d60;
                }
              }
            }
LAB_0012464c:
            pdVar33 = pdVar34;
          } while (pdVar13 < pdVar34);
        }
LAB_0012465c:
        if (0 < (int)puVar6[7]) {
          iVar51 = 0;
          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);
          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);
          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);
          while( true ) {
            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);
            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);
            if ((iVar14 == 0) || (iVar17 == 0)) break;
            iVar42 = puVar6[6];
            iVar44 = 0;
            if (0 < iVar42) {
              iVar45 = *(int *)(iVar4 + 0x2d0);
              while( true ) {
                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {
                  iVar45 = *(int *)(in_a1 + 0x1a8);
                  if (iVar45 == 0) {
                    piVar52 = (int *)(in_a1 + 0x48);
                    piVar2 = aiStack_368;
                    do {
                      piVar21 = piVar2;
                      piVar19 = piVar52;
                      piVar52 = piVar19 + 4;
                      iVar26 = piVar19[2];
                      iVar45 = piVar19[3];
                      iVar20 = *piVar19;
                      piVar21[1] = piVar19[1];
                      piVar21[2] = iVar26;
                      *piVar21 = iVar20;
                      piVar21[3] = iVar45;
                      piVar2 = piVar21 + 4;
                    } while (piVar52 != (int *)(in_a1 + 0x98));
                    iVar45 = *piVar52;
                    piVar21[5] = piVar19[5];
                    piVar21[4] = iVar45;
                  }
                  else {
                    (**(code **)(pcVar39 + 0x285410))
                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),
                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);
                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {
                      iVar42 = puVar6[6];
                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;
                    }
                    else {
                      iVar42 = puVar6[6];
                    }
                  }
                  iVar45 = puVar6[0xb4];
                  iVar26 = *(int *)(iVar45 + 0x14);
                  iVar20 = *(int *)(iVar45 + 0x20);
                  iVar27 = *(int *)(iVar45 + 0x28);
                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;
                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;
                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;
                  if (iVar27 != 0) {
                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;
                  }
                  if (*(int *)(iVar45 + 0x34) != 0) {
                    fVar43 = (float)uVar47;
                    if (aiStack_368[2] != 0) {
                      fVar43 = (float)dStack_320;
                    }
                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;
                  }
                }
                iVar44 = iVar44 + 1;
                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;
                iVar17 = iVar17 + puVar6[0xb0] * 4;
                if (iVar42 <= iVar44) break;
                iVar45 = *(int *)(iVar4 + 0x2d0);
              }
            }
            iVar51 = iVar51 + 1;
            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);
            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;
          }
        }
        (**(code **)(pcVar39 + 0x284ee8))(uVar16);
        (**(code **)(pcVar39 + 0x284ee8))(uVar28);
        (**(code **)(pcVar39 + 0x28538c))(iVar5);
        (**(code **)(pcVar39 + 0x284f40))(iVar4);
        goto LAB_001240ec;
      }
      goto LAB_00125064;
    }
  }
  else {
    (**(code **)(pcVar39 + 0x2855fc))
              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,
               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);
LAB_00125064:
    (**(code **)(pcVar39 + 0x2855fc))
              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);
  }
  (**(code **)(pcVar39 + 0x2855fc))
            (*(int *)(pcVar39 + 0x2848d4) + 0x1114,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xad,
             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);
  puVar22 = puVar6;
LAB_001250a8:
  puVar6 = puVar22;
  (**(code **)(pcVar39 + 0x2855fc))
            (*(int *)(pcVar39 + 0x2848d4) + 0xdd0,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xa9,
             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);
  do {
    (**(code **)(pcVar39 + 0x285058))();
LAB_001250d8:
    puVar6 = puVar6 + 0xd0;
    uVar28 = 0x107;
LAB_00124ee4:
    (**(code **)(pcVar39 + 0x284f14))
              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,
               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,
               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6);
LAB_001240ec:
  } while (iStack_2b4 != *piVar35);
  return;
LAB_00124d50:
  pcVar40 = *(code **)(pcVar39 + 0x2854ec);
LAB_00124d60:
  iVar14 = (*pcVar40)(uVar16,pcVar38);
  if (iVar14 == 0) goto LAB_0012464c;
LAB_00124a50:
  if (pdVar15 <= pdVar34) {
    puVar6 = puVar6 + 0xd0;
    uVar28 = 0x125;
    goto LAB_00124ee4;
  }
  iVar14 = iVar42 + 1;
  uVar36 = uVar10;
  if ((iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51)) {
    if ((int)uVar10 <= iVar14) goto LAB_0012463c;
  }
  else {
    pdVar33 = pdVar34 + 4;
    *pdVar34 = (double)(int)uStack_390;
    pdVar34[3] = (double)iVar45;
    pdVar34[2] = (double)(int)(uVar10 - 1);
    pdVar34[1] = (double)iVar51;
    pdVar34 = pdVar33;
    if ((int)uVar10 <= iVar14) goto LAB_0012463c;
    if (pdVar15 <= pdVar33) {
      puVar6 = puVar6 + 0xd0;
      uVar28 = 0x127;
      goto LAB_00124ee4;
    }
  }
  if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {
    *pdVar34 = (double)iVar14;
    pdVar34[2] = (double)(int)(uVar10 - 1);
    pdVar34[1] = (double)iVar51;
    pdVar34[3] = (double)-iVar45;
    pdVar34 = pdVar34 + 4;
  }
  goto LAB_0012463c;
}



int FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)

{
  undefined *puVar1;
  int *piVar2;
  float **ppfVar3;
  int iVar4;
  int iVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 *puVar9;
  uint uVar10;
  undefined4 *puVar11;
  double *pdVar12;
  int iVar13;
  double *pdVar14;
  undefined4 uVar15;
  int iVar16;
  undefined *puVar17;
  int *piVar18;
  int iVar19;
  int *piVar20;
  undefined4 *puVar21;
  uint uVar22;
  float **ppfVar23;
  uint uVar24;
  int iVar25;
  int iVar26;
  undefined4 uVar27;
  float *pfVar28;
  float *pfVar29;
  int *unaff_s0;
  float *pfVar30;
  float *pfVar31;
  double *pdVar32;
  double *pdVar33;
  uint unaff_s4;
  int *piVar34;
  undefined4 *unaff_s5;
  float **unaff_s6;
  uint uVar35;
  int unaff_s7;
  undefined4 *puVar36;
  code *pcVar37;
  code *pcVar38;
  code *pcVar39;
  double dVar40;
  int iVar41;
  float fVar42;
  int iVar43;
  int iVar44;
  double in_f20_21;
  double dVar45;
  ulonglong uVar46;
  double in_f22_23;
  double dVar47;
  ulonglong uVar48;
  undefined8 uVar49;
  int iVar50;
  int *piVar51;
  uint uStack_390;
  int aiStack_368 [10];
  double dStack_340;
  double dStack_338;
  double dStack_330;
  double dStack_328;
  double dStack_320;
  undefined4 uStack_310;
  undefined4 uStack_30c;
  undefined4 uStack_308;
  undefined8 uStack_300;
  undefined4 uStack_2f8;
  double dStack_2e8;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  double dStack_2c8;
  double dStack_2c0;
  int iStack_2b4;
  float *pfStack_2b0;
  int *piStack_2ac;
  undefined4 *puStack_2a8;
  undefined4 *puStack_2a4;
  uint uStack_2a0;
  undefined4 *puStack_29c;
  float **ppfStack_298;
  undefined4 *puStack_294;
  undefined4 *puStack_290;
  code *pcStack_28c;
  double dStack_288;
  double dStack_280;
  int iStack_248;
  undefined *puStack_244;
  code *pcStack_240;
  float *pfStack_234;
  undefined4 *puStack_230;
  undefined *puStack_22c;
  int *piStack_228;
  undefined *puStack_224;
  float *pfStack_220;
  undefined4 uStack_21c;
  undefined4 uStack_218;
  undefined8 uStack_210;
  undefined4 uStack_208;
  double dStack_1f8;
  double dStack_1f0;
  double dStack_1e8;
  double dStack_1e0;
  double dStack_1d8;
  double dStack_1d0;
  int iStack_1c4;
  int *piStack_1c0;
  float *pfStack_1bc;
  float *pfStack_1b8;
  undefined4 *puStack_1b4;
  uint uStack_1b0;
  undefined4 *puStack_1ac;
  float **ppfStack_1a8;
  undefined4 *puStack_1a4;
  undefined4 *puStack_1a0;
  code *pcStack_19c;
  double dStack_198;
  double dStack_190;
  undefined4 uStack_178;
  undefined *puStack_174;
  undefined *puStack_170;
  undefined *puStack_164;
  int *piStack_160;
  undefined *puStack_15c;
  float *apfStack_158 [4];
  undefined8 uStack_148;
  undefined4 uStack_140;
  double dStack_130;
  double dStack_128;
  double dStack_120;
  double dStack_118;
  double dStack_110;
  double dStack_108;
  int iStack_fc;
  int *piStack_f8;
  float *pfStack_f4;
  float *pfStack_f0;
  undefined4 *puStack_ec;
  uint uStack_e8;
  undefined4 *puStack_e4;
  float **ppfStack_e0;
  int iStack_dc;
  undefined4 *puStack_d8;
  code *pcStack_d4;
  double dStack_d0;
  undefined4 local_b8;
  undefined *local_b4;
  float *local_98 [4];
  undefined8 local_88;
  undefined4 local_80;
  double local_70;
  double local_68;
  double local_60;
  double local_58;
  double local_50;
  double local_48;
  int local_3c;
  
  puVar17 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
  puVar36 = (undefined4 *)*param_1;
  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();
  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar50 = (int)puVar36[7] / iVar4;
  iVar4 = (int)puVar36[7] % iVar4;
  puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar21 != (undefined4 *)0x0) {
    iVar50 = iVar50 + 1;
    iVar4 = 0;
  }
  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);
  pfVar31 = (float *)(iVar50 + (int)pfVar30);
  if ((int)pfVar30 < (int)pfVar31) {
    unaff_s6 = local_98;
    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);
    unaff_s5 = (undefined4 *)param_1[3];
    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);
    puVar6 = (undefined4 *)param_1[5];
    unaff_s4 = param_1[1];
    puVar7 = (undefined *)param_1[4];
    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;
    do {
      if (param_1[7] != 0) {
        param_2 = (undefined *)0x0;
        param_4 = puVar36[6];
        local_b8 = 1;
        puVar21 = puVar6;
        param_3 = pfVar30;
        local_b4 = puVar7;
        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();
        if (unaff_s7 == 0) {
LAB_00123734:
          param_1[7] = 0;
        }
        else {
          puVar9 = (undefined4 *)param_1[6];
          puVar21 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar23 = ppfVar3;
            puVar11 = puVar21;
            puVar21 = puVar11 + 4;
            pfVar29 = (float *)puVar11[1];
            pfVar28 = (float *)puVar11[2];
            param_3 = (float *)puVar11[3];
            *ppfVar23 = (float *)*puVar11;
            ppfVar23[1] = pfVar29;
            ppfVar23[2] = pfVar28;
            ppfVar23[3] = param_3;
            ppfVar3 = ppfVar23 + 4;
          } while (puVar21 != puVar9 + 0x14);
          pfVar28 = (float *)puVar11[5];
          ppfVar23[4] = (float *)*puVar21;
          ppfVar23[5] = pfVar28;
          if (0 < (int)puVar36[6]) {
            unaff_s0 = (int *)0x0;
            do {
              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);
              local_88 = *(undefined8 *)(puVar36 + 0x92);
              local_98[0] = (float *)*puVar36;
              local_98[1] = (float *)puVar36[1];
              local_80 = puVar36[8];
              local_98[2] = (float *)puVar36[0xaf];
              param_3 = local_98[0];
              local_50 = in_f20_21;
              if (unaff_s7 != 0) {
                iVar4 = puVar36[0xb4];
                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);
                local_70 = (double)*param_3;
                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);
                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  local_98[2] = (float *)0x4;
                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);
                }
              }
              puVar21 = (undefined4 *)
                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);
              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {
                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;
            } while ((int)unaff_s0 < (int)puVar36[6]);
          }
          puVar21 = puVar6;
          param_2 = puVar7;
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();
          if (iVar4 == 0) {
            param_1[7] = 0;
          }
          if (puVar36[0xca] != 0) {
            unaff_s0 = (int *)param_1[8];
            (*(code *)PTR_GOMP_atomic_start_003a92e4)();
            puVar1 = PTR_GOMP_atomic_end_003a9438;
            uVar10 = unaff_s0[1];
            uVar22 = uVar10 + 1;
            unaff_s0[1] = uVar22;
            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;
            (*(code *)puVar1)();
            local_b4 = (undefined *)puVar36[7];
            param_4 = ((undefined4 *)param_1[8])[1];
            param_3 = *(float **)param_1[8];
            local_b8 = 0;
            puVar21 = puVar36;
            param_2 = puVar8;
            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();
            if (iVar4 == 0) goto LAB_00123734;
          }
        }
      }
      pfVar30 = (float *)((int)pfVar30 + 1);
    } while (pfVar31 != pfVar30);
  }
  if (local_3c == *(int *)puVar17) {
    return *(int *)puVar17;
  }
  pcVar37 = FUN_00123798;
  puVar17 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puStack_170 = puVar17 + 0x28d118;
  piStack_160 = *(int **)(puVar17 + 0x285a98);
  iStack_fc = *piStack_160;
  puVar6 = (undefined4 *)*puVar21;
  piStack_f8 = unaff_s0;
  pfStack_f4 = pfVar30;
  pfStack_f0 = pfVar31;
  puStack_ec = param_1;
  uStack_e8 = unaff_s4;
  puStack_e4 = unaff_s5;
  ppfStack_e0 = unaff_s6;
  iStack_dc = unaff_s7;
  puStack_d8 = puVar36;
  pcStack_d4 = pcVar37;
  dStack_d0 = in_f20_21;
  iVar4 = (**(code **)(puVar17 + 0x286174))();
  iVar5 = (**(code **)(puStack_170 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar50 = (int)puVar6[7] / iVar4;
  iVar4 = (int)puVar6[7] % iVar4;
  puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar36 != (undefined4 *)0x0) {
    iVar50 = iVar50 + 1;
    iVar4 = 0;
  }
  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);
  pfVar31 = (float *)(iVar50 + (int)pfVar30);
  puVar17 = puStack_170;
  if ((int)pfVar30 < (int)pfVar31) {
    unaff_s6 = apfStack_158;
    unaff_s5 = (undefined4 *)puVar21[3];
    param_1 = (undefined4 *)puVar21[1];
    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);
    puStack_164 = (undefined *)puVar21[2];
    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);
    do {
      if (puVar21[7] != 0) {
        param_2 = (undefined *)0x0;
        param_4 = puVar6[6];
        puStack_174 = puStack_164;
        uStack_178 = 1;
        puVar36 = unaff_s5;
        param_3 = pfVar30;
        unaff_s4 = (**(code **)(puVar17 + -0x7264))();
        if (unaff_s4 == 0) {
LAB_00123bb4:
          puVar21[7] = 0;
          puVar17 = puStack_170;
        }
        else {
          puVar9 = (undefined4 *)puVar21[6];
          puVar36 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar23 = ppfVar3;
            puVar11 = puVar36;
            puVar36 = puVar11 + 4;
            pfVar29 = (float *)puVar11[1];
            pfVar28 = (float *)puVar11[2];
            param_3 = (float *)puVar11[3];
            *ppfVar23 = (float *)*puVar11;
            ppfVar23[1] = pfVar29;
            ppfVar23[2] = pfVar28;
            ppfVar23[3] = param_3;
            ppfVar3 = ppfVar23 + 4;
          } while (puVar36 != puVar9 + 0x14);
          pfVar28 = (float *)puVar11[5];
          ppfVar23[4] = (float *)*puVar36;
          ppfVar23[5] = pfVar28;
          unaff_s0 = (int *)0x0;
          if (0 < (int)puVar6[6]) {
            pcVar37 = *(code **)(puStack_170 + -0x78bc);
            do {
              (*pcVar37)(unaff_s6,0,0x58);
              uStack_148 = *(undefined8 *)(puVar6 + 0x92);
              apfStack_158[0] = (float *)*puVar6;
              apfStack_158[1] = (float *)puVar6[1];
              uStack_140 = puVar6[8];
              apfStack_158[2] = (float *)puVar6[0xaf];
              param_3 = apfStack_158[0];
              dStack_110 = in_f20_21;
              if (unaff_s4 == 0) {
LAB_00123a48:
                pcVar37 = *(code **)(puStack_170 + -0x792c);
              }
              else {
                iVar4 = puVar6[0xb4];
                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);
                dStack_130 = (double)*param_3;
                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);
                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  apfStack_158[2] = (float *)0x4;
                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);
                }
                pcVar37 = *(code **)(puStack_170 + -0x792c);
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);
                  goto LAB_00123a48;
                }
              }
              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);
              if (param_1 != puVar36) {
                iVar4 = puVar6[0xb4];
                if ((*(uint *)(iVar4 + 4) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =
                       (float)*(double *)(puVar21[4] + 0x28);
                }
                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =
                       (float)*(double *)(puVar21[4] + 0x30);
                }
                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =
                       (float)*(double *)(puVar21[4] + 0x38);
                }
                uVar10 = *(uint *)(iVar4 + 0x34) & 2;
                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {
                  if (uVar10 != 0) {
                    dVar40 = *(double *)(puVar21[4] + 0x48);
                    goto LAB_0012391c;
                  }
                }
                else {
                  param_3 = (float *)puVar21[4];
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =
                       (float)*(double *)(param_3 + 0x10);
                  if (uVar10 != 0) {
                    dVar40 = *(double *)(param_3 + 0x12);
LAB_0012391c:
                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;
                  }
                }
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;
              if ((int)puVar6[6] <= (int)unaff_s0) break;
              pcVar37 = *(code **)(puStack_170 + -0x78bc);
            } while( true );
          }
          puVar36 = unaff_s5;
          param_2 = puStack_164;
          iVar4 = (**(code **)(puStack_170 + -0x73b8))();
          if (iVar4 == 0) {
            puVar21[7] = 0;
          }
          puVar17 = puStack_170;
          if (puVar6[0xca] != 0) {
            unaff_s0 = (int *)puVar21[8];
            (**(code **)(puStack_170 + -0x75cc))();
            uVar10 = unaff_s0[1];
            uVar22 = uVar10 + 1;
            pcVar37 = *(code **)(puStack_170 + -0x7478);
            unaff_s0[1] = uVar22;
            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;
            (*pcVar37)();
            puStack_174 = (undefined *)puVar6[7];
            param_4 = ((undefined4 *)puVar21[8])[1];
            param_3 = *(float **)puVar21[8];
            uStack_178 = 0;
            puVar36 = puVar6;
            param_2 = puStack_15c;
            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();
            puVar17 = puStack_170;
            if (iVar4 == 0) goto LAB_00123bb4;
          }
        }
      }
      pfVar30 = (float *)((int)pfVar30 + 1);
    } while (pfVar31 != pfVar30);
  }
  if (iStack_fc == *piStack_160) {
    return *piStack_160;
  }
  pcVar37 = *(code **)(puVar17 + -0x784c);
  pcVar38 = FUN_00123c14;
  (*pcVar37)();
  pcStack_240 = pcVar37 + 0x28cc9c;
  piStack_228 = *(int **)(pcVar37 + 0x28561c);
  iStack_1c4 = *piStack_228;
  puVar9 = (undefined4 *)*puVar36;
  piStack_1c0 = unaff_s0;
  pfStack_1bc = pfVar30;
  pfStack_1b8 = pfVar31;
  puStack_1b4 = param_1;
  uStack_1b0 = unaff_s4;
  puStack_1ac = unaff_s5;
  ppfStack_1a8 = unaff_s6;
  puStack_1a4 = puVar21;
  puStack_1a0 = puVar6;
  pcStack_19c = pcVar38;
  dStack_198 = in_f20_21;
  dStack_190 = in_f22_23;
  iVar4 = (**(code **)(pcVar37 + 0x285cf8))();
  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  piVar51 = (int *)((int)puVar9[7] / iVar4);
  iVar4 = (int)puVar9[7] % iVar4;
  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar6 != (undefined4 *)0x0) {
    piVar51 = (int *)((int)piVar51 + 1);
    iVar4 = 0;
  }
  pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);
  pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);
  pcVar37 = pcStack_240;
  if ((int)pfVar30 < (int)pfStack_234) {
    unaff_s6 = &pfStack_220;
    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);
    unaff_s4 = puVar36[4];
    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);
    puStack_230 = (undefined4 *)puVar36[6];
    unaff_s5 = (undefined4 *)puVar36[2];
    param_1 = (undefined4 *)puVar36[1];
    puStack_22c = (undefined *)puVar36[5];
    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);
    do {
      if (puVar36[7] != 0) {
        param_2 = (undefined *)0x0;
        param_4 = puVar9[6];
        puStack_244 = puStack_22c;
        iStack_248 = 1;
        puVar6 = puStack_230;
        param_3 = pfVar30;
        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();
        if (piVar51 == (int *)0x0) {
LAB_00123f74:
          puVar36[7] = 0;
          pcVar37 = pcStack_240;
        }
        else {
          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);
          if (0 < (int)puVar9[6]) {
            puVar21 = (undefined4 *)0x0;
            do {
              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);
              uStack_210 = *(undefined8 *)(puVar9 + 0x92);
              pfStack_220 = (float *)*puVar9;
              uStack_21c = puVar9[1];
              uStack_208 = puVar9[8];
              uStack_218 = puVar9[0xaf];
              param_3 = pfStack_220;
              dStack_1d8 = in_f22_23;
              if (piVar51 != (int *)0x0) {
                iVar4 = puVar9[0xb4];
                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));
                dStack_1f8 = (double)*param_3;
                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];
                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  uStack_218 = 4;
                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];
                }
              }
              uVar10 = 0;
              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&
                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&
                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {
                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||
                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {
                  uVar10 = 0;
                }
                else {
                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));
                }
              }
              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {
                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);
              }
              puVar21 = (undefined4 *)((int)puVar21 + 1);
              piVar51 = piVar51 + puVar9[0xb0];
            } while ((int)puVar21 < (int)puVar9[6]);
          }
          puVar6 = puStack_230;
          param_2 = puStack_22c;
          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();
          if (iVar4 == 0) {
            puVar36[7] = 0;
          }
          pcVar37 = pcStack_240;
          if (puVar9[0xca] != 0) {
            piVar51 = (int *)puVar36[8];
            (**(code **)(pcStack_240 + -0x75cc))();
            uVar10 = piVar51[1];
            uVar22 = uVar10 + 1;
            pcVar37 = *(code **)(pcStack_240 + -0x7478);
            piVar51[1] = uVar22;
            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;
            (*pcVar37)();
            puStack_244 = (undefined *)puVar9[7];
            param_4 = ((undefined4 *)puVar36[8])[1];
            param_3 = *(float **)puVar36[8];
            iStack_248 = 0;
            puVar6 = puVar9;
            param_2 = puStack_224;
            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();
            pcVar37 = pcStack_240;
            if (iVar4 == 0) goto LAB_00123f74;
          }
        }
      }
      pfVar30 = (float *)((int)pfVar30 + 1);
    } while (pfStack_234 != pfVar30);
  }
  if (iStack_1c4 == *piStack_228) {
    return *piStack_228;
  }
  pcVar38 = *(code **)(pcVar37 + -0x784c);
  pcVar39 = FloodfillPaintImage;
  (*pcVar38)();
  pcVar37 = pcStack_240;
  piVar34 = *(int **)(pcVar38 + 0x285224);
  iStack_2b4 = *piVar34;
  pfStack_2b0 = pfVar30;
  piStack_2ac = piVar51;
  puStack_2a8 = puVar36;
  puStack_2a4 = param_1;
  uStack_2a0 = unaff_s4;
  puStack_29c = unaff_s5;
  ppfStack_298 = unaff_s6;
  puStack_294 = puVar21;
  puStack_290 = puVar9;
  pcStack_28c = pcVar39;
  dStack_288 = in_f20_21;
  dStack_280 = in_f22_23;
  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;
  if (puVar6[0xcdb] == -0x54535255) {
    if (puVar6[0xcd4] != 0) {
      (**(code **)(pcVar38 + 0x2851d4))
                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,
                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);
    }
    if (param_2 != (undefined *)0x0) {
      if (*(int *)(param_2 + 0x390) == -0x54535255) {
        if (param_4 < 0) goto LAB_001240e8;
        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;
        if (iStack_248 < 0) goto LAB_001240e8;
        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;
        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);
        if (iVar4 == 0) goto LAB_001240e8;
        if (puVar6[1] == 0x21) {
          pcVar39 = *(code **)(pcVar38 + 0x284d34);
        }
        else {
          pcVar39 = *(code **)(pcVar38 + 0x284d34);
          if (puVar6[1] != 3) goto LAB_001241b0;
        }
        (*pcVar39)(puVar6,0x17,pcVar37);
LAB_001241b0:
        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {
          (**(code **)(pcVar38 + 0x284c6c))
                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);
        }
        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);
        if (iVar4 == 0) goto LAB_001240e8;
        iVar5 = *(int *)(pcVar38 + 0x2848d8);
        pcVar39 = *(code **)(pcVar38 + 0x284e08);
        *(undefined4 *)(iVar4 + 700) = 0;
        *(undefined4 *)(iVar4 + 4) = 3;
        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);
        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);
        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);
        if (iVar5 == 0) {
          puVar6 = puVar6 + 0xd0;
          iVar50 = 0;
          (**(code **)(pcVar38 + 0x284f40))(iVar4);
          (**(code **)(pcVar38 + 0x284f14))
                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,
                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,
                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,
                     puVar6);
          goto LAB_001240ec;
        }
        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);
        iVar50 = puVar6[7];
        pdVar33 = pdVar12;
        if (iStack_248 + 1 < iVar50) {
          iVar13 = *(int *)(pcVar38 + 0x2848d4);
          *pdVar12 = (double)param_4;
          pdVar12[2] = (double)param_4;
          dVar40 = *(double *)(iVar13 + 0x1438);
          pdVar12[1] = (double)iStack_248;
          pdVar12[3] = dVar40;
          pdVar33 = pdVar12 + 4;
        }
        pdVar14 = pdVar12 + 0x200000;
        if (pdVar14 <= pdVar33) {
          puVar6 = puVar6 + 0xd0;
          uVar27 = 0xd4;
          goto LAB_00124ee4;
        }
        pcVar39 = *(code **)(pcVar38 + 0x2852a8);
        pdVar32 = pdVar33;
        if (iStack_248 < iVar50) {
          iVar50 = *(int *)(pcVar38 + 0x2848d4);
          pdVar32 = pdVar33 + 4;
          *pdVar33 = (double)param_4;
          pdVar33[2] = (double)param_4;
          dVar40 = *(double *)(iVar50 + 0x1a78);
          pdVar33[1] = (double)(iStack_248 + 1);
          pdVar33[3] = dVar40;
        }
        (*pcVar39)(puVar6,&uStack_310);
        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);
        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);
        if (pdVar12 < pdVar32) {
          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);
          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);
          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);
          dVar40 = dVar45;
          dVar47 = dVar45;
          do {
            pdVar33 = pdVar32 + -4;
            uVar22 = (uint)pdVar32[-4];
            iVar44 = (int)pdVar32[-1];
            iVar43 = (int)pdVar32[-3];
            iVar41 = (int)pdVar32[-2];
            uVar10 = uVar22 + 1;
            iVar50 = iVar43 + iVar44;
            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);
            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);
            puVar17 = puStack_244;
            if ((iVar13 == 0) || (iVar16 == 0)) break;
            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;
            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;
            uVar35 = uVar22;
            if ((int)uVar22 < 0) {
              pcVar39 = *(code **)(pcVar38 + 0x2854ec);
LAB_00125018:
              iVar13 = (*pcVar39)(uVar15,pcVar37);
              if (iVar13 == 0) break;
            }
            else {
              pcVar39 = *(code **)(pcVar38 + 0x2854ec);
              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)
              goto LAB_00125018;
              do {
                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);
                uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                uStack_310 = *puVar6;
                uStack_30c = puVar6[1];
                uStack_2f8 = puVar6[8];
                uStack_308 = puVar6[0xaf];
                dStack_2c8 = dVar47;
                if (iVar13 == 0) {
LAB_001245ec:
                  pcVar39 = *(code **)(pcVar38 + 0x284f78);
                }
                else {
                  iVar19 = puVar6[0xb4];
                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);
                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);
                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);
                  if (*(int *)(iVar19 + 0x28) != 0) {
                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);
                  }
                  if (*(int *)(iVar19 + 0x34) != 0) {
                    uStack_308 = 4;
                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);
                  }
                  pcVar39 = *(code **)(pcVar38 + 0x284f78);
                  if (*(int *)(iVar19 + 0x40) != 0) {
                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);
                    goto LAB_001245ec;
                  }
                }
                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);
                if (puVar7 == puVar17) {
                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);
                  break;
                }
                uVar35 = uVar35 - 1;
                iVar13 = iVar13 + puVar6[0xb0] * -4;
                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                puVar36 = (undefined4 *)(iVar16 + iVar19);
                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;
                *puVar36 = (int)uVar48;
                if (uVar35 == 0xffffffff) {
                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);
                  if (iVar13 == 0) goto LAB_0012465c;
                  uVar24 = uVar22 >> 0x1f;
                  goto LAB_00124dbc;
                }
                pcVar39 = *(code **)(pcVar38 + 0x2854ec);
              } while (*(float *)(iVar16 + iVar19) == 0.0);
              iVar13 = (*pcVar39)(uVar15,pcVar37);
              if (iVar13 == 0) break;
              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;
              if ((int)uVar35 < (int)uVar22 != 0) {
LAB_00124dbc:
                uStack_390 = uVar35 + 1;
                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;
                if (pdVar14 <= pdVar33) goto LAB_001250d8;
                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {
                  pdVar32[-4] = (double)(int)uStack_390;
                  pdVar32[-3] = (double)iVar50;
                  pdVar32[-2] = (double)(int)(uVar22 - 1);
                  pdVar32[-1] = (double)-iVar44;
                  pdVar33 = pdVar32;
                }
                uVar35 = uVar10;
                if (uVar24 == 0) {
                  iVar13 = puVar6[6];
                  goto LAB_00124a44;
                }
              }
            }
LAB_0012463c:
            uVar10 = uVar35 + 1;
            if ((int)uVar10 <= iVar41) {
              iVar16 = (iVar41 - uVar10) + 1;
              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);
              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);
              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {
                while (uStack_390 = uVar10,
                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==
                      (float)uVar49) {
                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);
                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                  uStack_310 = *puVar6;
                  uStack_30c = puVar6[1];
                  uStack_2f8 = puVar6[8];
                  uStack_308 = puVar6[0xaf];
                  dStack_2c8 = dVar45;
                  if (iVar13 == 0) {
LAB_001249ec:
                    pcVar39 = *(code **)(pcVar38 + 0x284f78);
                  }
                  else {
                    iVar19 = puVar6[0xb4];
                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);
                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);
                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);
                    if (*(int *)(iVar19 + 0x28) != 0) {
                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);
                    }
                    if (*(int *)(iVar19 + 0x34) != 0) {
                      uStack_308 = 4;
                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);
                    }
                    pcVar39 = *(code **)(pcVar38 + 0x284f78);
                    if (*(int *)(iVar19 + 0x40) != 0) {
                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);
                      goto LAB_001249ec;
                    }
                  }
                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);
                  if (puStack_244 != puVar17) break;
                  uVar10 = uVar10 + 1;
                  iVar13 = iVar13 + puVar6[0xb0] * 4;
                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;
                  if (iVar41 < (int)uVar10) goto LAB_0012464c;
                }
LAB_00124a40:
                iVar13 = puVar6[6];
LAB_00124a44:
                if (iVar13 <= (int)uVar10) goto LAB_00124a50;
                iVar13 = (**(code **)(pcVar38 + 0x285650))
                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);
                iVar16 = (**(code **)(pcVar38 + 0x285640))
                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);
                puVar17 = puStack_244;
                if ((iVar13 != 0) && (iVar16 != 0)) {
                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);
                  if (((int)uVar10 < (int)puVar6[6]) &&
                     (uVar49 = 0,
                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {
                    do {
                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);
                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                      uStack_310 = *puVar6;
                      uStack_30c = puVar6[1];
                      uStack_2f8 = puVar6[8];
                      uStack_308 = puVar6[0xaf];
                      dStack_2c8 = dVar40;
                      if (iVar13 == 0) {
LAB_00124d38:
                        pcVar39 = *(code **)(pcVar38 + 0x284f78);
                      }
                      else {
                        iVar19 = puVar6[0xb4];
                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);
                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);
                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);
                        if (*(int *)(iVar19 + 0x28) != 0) {
                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);
                        }
                        if (*(int *)(iVar19 + 0x34) != 0) {
                          uStack_308 = 4;
                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);
                        }
                        pcVar39 = *(code **)(pcVar38 + 0x284f78);
                        if (*(int *)(iVar19 + 0x40) != 0) {
                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);
                          goto LAB_00124d38;
                        }
                      }
                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);
                      if (puVar17 == puVar7) goto LAB_00124d50;
                      uVar10 = uVar10 + 1;
                      iVar25 = puVar6[6];
                      iVar13 = iVar13 + puVar6[0xb0] * 4;
                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                      puVar36 = (undefined4 *)(iVar16 + iVar19);
                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;
                      *puVar36 = (int)uVar46;
                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))
                      goto LAB_00124d50;
                    } while( true );
                  }
                  goto LAB_00124d60;
                }
              }
            }
LAB_0012464c:
            pdVar32 = pdVar33;
          } while (pdVar12 < pdVar33);
        }
LAB_0012465c:
        if (0 < (int)puVar6[7]) {
          iVar50 = 0;
          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);
          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);
          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);
          do {
            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);
            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);
            if ((iVar13 == 0) || (iVar16 == 0)) {
LAB_00124f5c:
              iVar50 = 0;
              goto LAB_00124f60;
            }
            iVar41 = puVar6[6];
            iVar43 = 0;
            if (0 < iVar41) {
              iVar44 = *(int *)(iVar4 + 0x2d0);
              while( true ) {
                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {
                  iVar44 = *(int *)(param_2 + 0x1a8);
                  if (iVar44 == 0) {
                    piVar51 = (int *)(param_2 + 0x48);
                    piVar2 = aiStack_368;
                    do {
                      piVar20 = piVar2;
                      piVar18 = piVar51;
                      piVar51 = piVar18 + 4;
                      iVar25 = piVar18[2];
                      iVar44 = piVar18[3];
                      iVar19 = *piVar18;
                      piVar20[1] = piVar18[1];
                      piVar20[2] = iVar25;
                      *piVar20 = iVar19;
                      piVar20[3] = iVar44;
                      piVar2 = piVar20 + 4;
                    } while (piVar51 != (int *)(param_2 + 0x98));
                    iVar44 = *piVar51;
                    piVar20[5] = piVar18[5];
                    piVar20[4] = iVar44;
                  }
                  else {
                    (**(code **)(pcVar38 + 0x285410))
                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),
                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);
                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {
                      iVar41 = puVar6[6];
                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;
                    }
                    else {
                      iVar41 = puVar6[6];
                    }
                  }
                  iVar44 = puVar6[0xb4];
                  iVar25 = *(int *)(iVar44 + 0x14);
                  iVar19 = *(int *)(iVar44 + 0x20);
                  iVar26 = *(int *)(iVar44 + 0x28);
                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;
                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;
                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;
                  if (iVar26 != 0) {
                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;
                  }
                  if (*(int *)(iVar44 + 0x34) != 0) {
                    fVar42 = (float)uVar46;
                    if (aiStack_368[2] != 0) {
                      fVar42 = (float)dStack_320;
                    }
                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;
                  }
                }
                iVar43 = iVar43 + 1;
                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;
                iVar16 = iVar16 + puVar6[0xb0] * 4;
                if (iVar41 <= iVar43) break;
                iVar44 = *(int *)(iVar4 + 0x2d0);
              }
            }
            iVar50 = iVar50 + 1;
            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);
            if (iVar13 == 0) goto LAB_00124f5c;
          } while (iVar50 < (int)puVar6[7]);
        }
        iVar50 = 1;
LAB_00124f60:
        (**(code **)(pcVar38 + 0x284ee8))(uVar15);
        (**(code **)(pcVar38 + 0x284ee8))(uVar27);
        (**(code **)(pcVar38 + 0x28538c))(iVar5);
        (**(code **)(pcVar38 + 0x284f40))(iVar4);
        goto LAB_001240ec;
      }
      goto LAB_00125064;
    }
  }
  else {
    (**(code **)(pcVar38 + 0x2855fc))
              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,
               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);
LAB_00125064:
    (**(code **)(pcVar38 + 0x2855fc))
              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);
  }
  (**(code **)(pcVar38 + 0x2855fc))
            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,
             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);
  puVar21 = puVar6;
LAB_001250a8:
  puVar6 = puVar21;
  (**(code **)(pcVar38 + 0x2855fc))
            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,
             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);
  do {
    (**(code **)(pcVar38 + 0x285058))();
LAB_001250d8:
    puVar6 = puVar6 + 0xd0;
    uVar27 = 0x107;
LAB_00124ee4:
    (**(code **)(pcVar38 + 0x284f14))
              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,
               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,
               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);
LAB_001240e8:
    iVar50 = 0;
LAB_001240ec:
  } while (iStack_2b4 != *piVar34);
  return iVar50;
LAB_00124d50:
  pcVar39 = *(code **)(pcVar38 + 0x2854ec);
LAB_00124d60:
  iVar13 = (*pcVar39)(uVar15,pcVar37);
  if (iVar13 == 0) goto LAB_0012464c;
LAB_00124a50:
  if (pdVar14 <= pdVar33) {
    puVar6 = puVar6 + 0xd0;
    uVar27 = 0x125;
    goto LAB_00124ee4;
  }
  iVar13 = iVar41 + 1;
  uVar35 = uVar10;
  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {
    if ((int)uVar10 <= iVar13) goto LAB_0012463c;
  }
  else {
    pdVar32 = pdVar33 + 4;
    *pdVar33 = (double)(int)uStack_390;
    pdVar33[3] = (double)iVar44;
    pdVar33[2] = (double)(int)(uVar10 - 1);
    pdVar33[1] = (double)iVar50;
    pdVar33 = pdVar32;
    if ((int)uVar10 <= iVar13) goto LAB_0012463c;
    if (pdVar14 <= pdVar32) {
      puVar6 = puVar6 + 0xd0;
      uVar27 = 0x127;
      goto LAB_00124ee4;
    }
  }
  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {
    *pdVar33 = (double)iVar13;
    pdVar33[2] = (double)(int)(uVar10 - 1);
    pdVar33[1] = (double)iVar50;
    pdVar33[3] = (double)-iVar44;
    pdVar33 = pdVar33 + 4;
  }
  goto LAB_0012463c;
}


lui gp,0x29
addiu gp,gp,-0x2b28
addu gp,gp,t9
lw v0,-0x7680(gp)
addiu sp,sp,-0xc8
lw t9,-0x6fa4(gp)
sdc1 f22,0xc0(sp)
sw v0,0x28(sp)
sw gp,0x18(sp)
sw ra,0xb4(sp)
sw s8,0xb0(sp)
sw s3,0x9c(sp)
or s3,a0,zero
sw s2,0x98(sp)
sw s1,0x94(sp)
sw s7,0xac(sp)
sw s6,0xa8(sp)
sw s5,0xa4(sp)
sw s4,0xa0(sp)
sw s0,0x90(sp)
lw v0,0x0(v0)
sdc1 f20,0xb8(sp)
lw s8,0x0(a0)
sw v0,0x8c(sp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x73a8(gp)
jalr t9
_or s1,v0,zero
lw s2,0x1c(s8)
lw gp,0x18(sp)
teq s1,zero
div s2,s1
mfhi s1
slt a0,v0,s1
beq a0,zero,0x00123478
_mflo s2
addiu s2,s2,0x1
or s1,zero,zero
mul v1,s2,v0
addu s1,v1,s1
addu s2,s2,s1
slt v0,s1,s2
beq v0,zero,0x00123744
_lw v0,-0x7fd0(gp)
addiu s6,sp,0x30
lwc1 f22,0x8(s3)
lw s5,0xc(s3)
ldc1 f20,0x1a58(v0)
lw v0,0x14(s3)
lw s4,0x4(s3)
sw v0,0x20(sp)
lw v0,0x10(s3)
sw v0,0x24(sp)
lw v0,-0x7fcc(gp)
addiu v0,v0,0x2a14
sw v0,0x2c(sp)
lw v0,0x1c(s3)
beq v0,zero,0x00123738
_lw v0,0x24(sp)
or a1,zero,zero
lw a3,0x18(s8)
or a2,s1,zero
lw t9,-0x7264(gp)
lw a0,0x20(sp)
sw v0,0x14(sp)
li v0,0x1
jalr t9
_sw v0,0x10(sp)
lw gp,0x18(sp)
beq v0,zero,0x00123734
_or s7,v0,zero
lw v0,0x18(s3)
or a0,s6,zero
addiu a1,v0,0x50
lw t3,0x0(v0)
addiu v0,v0,0x10
addiu a0,a0,0x10
lw t2,-0xc(v0)
lw t1,-0x8(v0)
lw a2,-0x4(v0)
sw t3,-0x10(a0)
sw t2,-0xc(a0)
sw t1,-0x8(a0)
bne v0,a1,0x00123508
_sw a2,-0x4(a0)
lw a1,0x0(v0)
lw v0,0x4(v0)
sw a1,0x0(a0)
sw v0,0x4(a0)
lw v0,0x18(s8)
blez v0,0x001236ac
_lw t9,-0x73b8(gp)
or s0,zero,zero
lw t9,-0x78bc(gp)
li a2,0x58
or a1,zero,zero
jalr t9
_or a0,s6,zero
ldc1 f0,0x248(s8)
lw a2,0x0(s8)
lw a1,0x4(s8)
lw a0,0x20(s8)
lw v0,0x2bc(s8)
lw gp,0x18(sp)
sdc1 f20,0x78(sp)
sw a2,0x30(sp)
sw a1,0x34(sp)
sdc1 f0,0x40(sp)
sw a0,0x48(sp)
beq s7,zero,0x00123654
_sw v0,0x38(sp)
lw v0,0x2d0(s8)
lw a2,0x8(v0)
lw a1,0x14(v0)
lw a0,0x20(v0)
sll a2,a2,0x2
lw t1,0x28(v0)
sll a1,a1,0x2
sll a0,a0,0x2
addu a2,s7,a2
addu a1,s7,a1
addu a0,s7,a0
lwc1 f4,0x0(a2)
lwc1 f2,0x0(a1)
lwc1 f0,0x0(a0)
cvt.d.S f4,f4
cvt.d.S f2,f2
cvt.d.S f0,f0
sdc1 f4,0x58(sp)
sdc1 f2,0x60(sp)
beq t1,zero,0x00123608
_sdc1 f0,0x68(sp)
lw a0,0x2c(v0)
sll a0,a0,0x2
addu a0,s7,a0
lwc1 f0,0x0(a0)
cvt.d.S f0,f0
sdc1 f0,0x70(sp)
lw a0,0x34(v0)
beq a0,zero,0x00123630
_li v1,0x4
lw a0,0x38(v0)
sll a0,a0,0x2
addu a0,s7,a0
lwc1 f0,0x0(a0)
sw v1,0x38(sp)
cvt.d.S f0,f0
sdc1 f0,0x78(sp)
lw a0,0x40(v0)
beq a0,zero,0x00123658
_lw t9,-0x792c(gp)
lw v0,0x44(v0)
sll v0,v0,0x2
addu v0,s7,v0
lwc1 f0,0x0(v0)
cvt.d.S f0,f0
sdc1 f0,0x80(sp)
lw t9,-0x792c(gp)
or a1,s4,zero
jalr t9
_or a0,s6,zero
beq s5,v0,0x0012368c
_lw gp,0x18(sp)
lw v0,0x2d0(s8)
lw a0,0x34(v0)
beq a0,zero,0x0012368c
_nop
lw v0,0x38(v0)
sll v0,v0,0x2
addu v0,s7,v0
swc1 f22,0x0(v0)
lw a0,0x2c0(s8)
addiu s0,s0,0x1
lw v0,0x18(s8)
sll a0,a0,0x2
slt v0,s0,v0
bne v0,zero,0x00123554
_addu s7,s7,a0
lw t9,-0x73b8(gp)
lw a1,0x24(sp)
jalr t9
_lw a0,0x20(sp)
bne v0,zero,0x001236c4
_lw gp,0x18(sp)
sw zero,0x1c(s3)
lw v0,0x328(s8)
beq v0,zero,0x00123738
_lw t9,-0x75cc(gp)
jalr t9
_lw s0,0x20(s3)
lw v0,0x4(s0)
lw gp,0x18(sp)
lw a1,0x0(s0)
addiu a0,v0,0x1
sltu v0,a0,v0
lw t9,-0x7478(gp)
addu v0,v0,a1
sw a0,0x4(s0)
jalr t9
_sw v0,0x0(s0)
or a0,s8,zero
lw a2,0x20(s3)
lw gp,0x18(sp)
lw v0,0x1c(s8)
lw a1,0x2c(sp)
lw a3,0x4(a2)
lw t9,-0x7bfc(gp)
lw a2,0x0(a2)
sw v0,0x14(sp)
jalr t9
_sw zero,0x10(sp)
bne v0,zero,0x00123738
_lw gp,0x18(sp)
sw zero,0x1c(s3)
addiu s1,s1,0x1
bne s2,s1,0x001234c0
_nop
lw v0,0x28(sp)
lw v1,0x8c(sp)
lw v0,0x0(v0)
bne v1,v0,0x0012378c
_lw ra,0xb4(sp)
lw s8,0xb0(sp)
lw s7,0xac(sp)
lw s6,0xa8(sp)
lw s5,0xa4(sp)
lw s4,0xa0(sp)
lw s3,0x9c(sp)
lw s2,0x98(sp)
lw s1,0x94(sp)
lw s0,0x90(sp)
ldc1 f22,0xc0(sp)
ldc1 f20,0xb8(sp)
jr ra
_addiu sp,sp,0xc8
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "int FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  float **ppfVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  double *pdVar12;\n  int iVar13;\n  double *pdVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined *puVar17;\n  int *piVar18;\n  int iVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  float **ppfVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  undefined4 uVar27;\n  float *pfVar28;\n  float *pfVar29;\n  int *unaff_s0;\n  float *pfVar30;\n  float *pfVar31;\n  double *pdVar32;\n  double *pdVar33;\n  uint unaff_s4;\n  int *piVar34;\n  undefined4 *unaff_s5;\n  float **unaff_s6;\n  uint uVar35;\n  int unaff_s7;\n  undefined4 *puVar36;\n  code *pcVar37;\n  code *pcVar38;\n  code *pcVar39;\n  double dVar40;\n  int iVar41;\n  float fVar42;\n  int iVar43;\n  int iVar44;\n  double in_f20_21;\n  double dVar45;\n  ulonglong uVar46;\n  double in_f22_23;\n  double dVar47;\n  ulonglong uVar48;\n  undefined8 uVar49;\n  int iVar50;\n  int *piVar51;\n  uint uStack_390;\n  int aiStack_368 [10];\n  double dStack_340;\n  double dStack_338;\n  double dStack_330;\n  double dStack_328;\n  double dStack_320;\n  undefined4 uStack_310;\n  undefined4 uStack_30c;\n  undefined4 uStack_308;\n  undefined8 uStack_300;\n  undefined4 uStack_2f8;\n  double dStack_2e8;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  int iStack_2b4;\n  float *pfStack_2b0;\n  int *piStack_2ac;\n  undefined4 *puStack_2a8;\n  undefined4 *puStack_2a4;\n  uint uStack_2a0;\n  undefined4 *puStack_29c;\n  float **ppfStack_298;\n  undefined4 *puStack_294;\n  undefined4 *puStack_290;\n  code *pcStack_28c;\n  double dStack_288;\n  double dStack_280;\n  int iStack_248;\n  undefined *puStack_244;\n  code *pcStack_240;\n  float *pfStack_234;\n  undefined4 *puStack_230;\n  undefined *puStack_22c;\n  int *piStack_228;\n  undefined *puStack_224;\n  float *pfStack_220;\n  undefined4 uStack_21c;\n  undefined4 uStack_218;\n  undefined8 uStack_210;\n  undefined4 uStack_208;\n  double dStack_1f8;\n  double dStack_1f0;\n  double dStack_1e8;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  int iStack_1c4;\n  int *piStack_1c0;\n  float *pfStack_1bc;\n  float *pfStack_1b8;\n  undefined4 *puStack_1b4;\n  uint uStack_1b0;\n  undefined4 *puStack_1ac;\n  float **ppfStack_1a8;\n  undefined4 *puStack_1a4;\n  undefined4 *puStack_1a0;\n  code *pcStack_19c;\n  double dStack_198;\n  double dStack_190;\n  undefined4 uStack_178;\n  undefined *puStack_174;\n  undefined *puStack_170;\n  undefined *puStack_164;\n  int *piStack_160;\n  undefined *puStack_15c;\n  float *apfStack_158 [4];\n  undefined8 uStack_148;\n  undefined4 uStack_140;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_118;\n  double dStack_110;\n  double dStack_108;\n  int iStack_fc;\n  int *piStack_f8;\n  float *pfStack_f4;\n  float *pfStack_f0;\n  undefined4 *puStack_ec;\n  uint uStack_e8;\n  undefined4 *puStack_e4;\n  float **ppfStack_e0;\n  int iStack_dc;\n  undefined4 *puStack_d8;\n  code *pcStack_d4;\n  double dStack_d0;\n  undefined4 local_b8;\n  undefined *local_b4;\n  float *local_98 [4];\n  undefined8 local_88;\n  undefined4 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  int local_3c;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  puVar36 = (undefined4 *)*param_1;\n  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar36[7] / iVar4;\n  iVar4 = (int)puVar36[7] % iVar4;\n  puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }\n  pcVar37 = FUN_00123798;\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_170 = puVar17 + 0x28d118;\n  piStack_160 = *(int **)(puVar17 + 0x285a98);\n  iStack_fc = *piStack_160;\n  puVar6 = (undefined4 *)*puVar21;\n  piStack_f8 = unaff_s0;\n  pfStack_f4 = pfVar30;\n  pfStack_f0 = pfVar31;\n  puStack_ec = param_1;\n  uStack_e8 = unaff_s4;\n  puStack_e4 = unaff_s5;\n  ppfStack_e0 = unaff_s6;\n  iStack_dc = unaff_s7;\n  puStack_d8 = puVar36;\n  pcStack_d4 = pcVar37;\n  dStack_d0 = in_f20_21;\n  iVar4 = (**(code **)(puVar17 + 0x286174))();\n  iVar5 = (**(code **)(puStack_170 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar6[7] / iVar4;\n  iVar4 = (int)puVar6[7] % iVar4;\n  puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  puVar17 = puStack_170;\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }\n  pcVar37 = *(code **)(puVar17 + -0x784c);\n  pcVar38 = FUN_00123c14;\n  (*pcVar37)();\n  pcStack_240 = pcVar37 + 0x28cc9c;\n  piStack_228 = *(int **)(pcVar37 + 0x28561c);\n  iStack_1c4 = *piStack_228;\n  puVar9 = (undefined4 *)*puVar36;\n  piStack_1c0 = unaff_s0;\n  pfStack_1bc = pfVar30;\n  pfStack_1b8 = pfVar31;\n  puStack_1b4 = param_1;\n  uStack_1b0 = unaff_s4;\n  puStack_1ac = unaff_s5;\n  ppfStack_1a8 = unaff_s6;\n  puStack_1a4 = puVar21;\n  puStack_1a0 = puVar6;\n  pcStack_19c = pcVar38;\n  dStack_198 = in_f20_21;\n  dStack_190 = in_f22_23;\n  iVar4 = (**(code **)(pcVar37 + 0x285cf8))();\n  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  piVar51 = (int *)((int)puVar9[7] / iVar4);\n  iVar4 = (int)puVar9[7] % iVar4;\n  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);\n  pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);\n  pcVar37 = pcStack_240;\n  if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }\n  if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }\n  pcVar38 = *(code **)(pcVar37 + -0x784c);\n  pcVar39 = FloodfillPaintImage;\n  (*pcVar38)();\n  pcVar37 = pcStack_240;\n  piVar34 = *(int **)(pcVar38 + 0x285224);\n  iStack_2b4 = *piVar34;\n  pfStack_2b0 = pfVar30;\n  piStack_2ac = piVar51;\n  puStack_2a8 = puVar36;\n  puStack_2a4 = param_1;\n  uStack_2a0 = unaff_s4;\n  puStack_29c = unaff_s5;\n  ppfStack_298 = unaff_s6;\n  puStack_294 = puVar21;\n  puStack_290 = puVar9;\n  pcStack_28c = pcVar39;\n  dStack_288 = in_f20_21;\n  dStack_280 = in_f22_23;\n  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;\n  if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  puVar21 = puVar6;\nLAB_001250a8:\n  puVar6 = puVar21;\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  do {\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}\n\n" (ERROR "int FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  float **ppfVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  double *pdVar12;\n  int iVar13;\n  double *pdVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined *puVar17;\n  int *piVar18;\n  int iVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  float **ppfVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  undefined4 uVar27;\n  float *pfVar28;\n  float *pfVar29;\n  int *unaff_s0;\n  float *pfVar30;\n  float *pfVar31;\n  double *pdVar32;\n  double *pdVar33;\n  uint unaff_s4;\n  int *piVar34;\n  undefined4 *unaff_s5;\n  float **unaff_s6;\n  uint uVar35;\n  int unaff_s7;\n  undefined4 *puVar36;\n  code *pcVar37;\n  code *pcVar38;\n  code *pcVar39;\n  double dVar40;\n  int iVar41;\n  float fVar42;\n  int iVar43;\n  int iVar44;\n  double in_f20_21;\n  double dVar45;\n  ulonglong uVar46;\n  double in_f22_23;\n  double dVar47;\n  ulonglong uVar48;\n  undefined8 uVar49;\n  int iVar50;\n  int *piVar51;\n  uint uStack_390;\n  int aiStack_368 [10];\n  double dStack_340;\n  double dStack_338;\n  double dStack_330;\n  double dStack_328;\n  double dStack_320;\n  undefined4 uStack_310;\n  undefined4 uStack_30c;\n  undefined4 uStack_308;\n  undefined8 uStack_300;\n  undefined4 uStack_2f8;\n  double dStack_2e8;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  int iStack_2b4;\n  float *pfStack_2b0;\n  int *piStack_2ac;\n  undefined4 *puStack_2a8;\n  undefined4 *puStack_2a4;\n  uint uStack_2a0;\n  undefined4 *puStack_29c;\n  float **ppfStack_298;\n  undefined4 *puStack_294;\n  undefined4 *puStack_290;\n  code *pcStack_28c;\n  double dStack_288;\n  double dStack_280;\n  int iStack_248;\n  undefined *puStack_244;\n  code *pcStack_240;\n  float *pfStack_234;\n  undefined4 *puStack_230;\n  undefined *puStack_22c;\n  int *piStack_228;\n  undefined *puStack_224;\n  float *pfStack_220;\n  undefined4 uStack_21c;\n  undefined4 uStack_218;\n  undefined8 uStack_210;\n  undefined4 uStack_208;\n  double dStack_1f8;\n  double dStack_1f0;\n  double dStack_1e8;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  int iStack_1c4;\n  int *piStack_1c0;\n  float *pfStack_1bc;\n  float *pfStack_1b8;\n  undefined4 *puStack_1b4;\n  uint uStack_1b0;\n  undefined4 *puStack_1ac;\n  float **ppfStack_1a8;\n  undefined4 *puStack_1a4;\n  undefined4 *puStack_1a0;\n  code *pcStack_19c;\n  double dStack_198;\n  double dStack_190;\n  undefined4 uStack_178;\n  undefined *puStack_174;\n  undefined *puStack_170;\n  undefined *puStack_164;\n  int *piStack_160;\n  undefined *puStack_15c;\n  float *apfStack_158 [4];\n  undefined8 uStack_148;\n  undefined4 uStack_140;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_118;\n  double dStack_110;\n  double dStack_108;\n  int iStack_fc;\n  int *piStack_f8;\n  float *pfStack_f4;\n  float *pfStack_f0;\n  undefined4 *puStack_ec;\n  uint uStack_e8;\n  undefined4 *puStack_e4;\n  float **ppfStack_e0;\n  int iStack_dc;\n  undefined4 *puStack_d8;\n  code *pcStack_d4;\n  double dStack_d0;\n  undefined4 local_b8;\n  undefined *local_b4;\n  float *local_98 [4];\n  undefined8 local_88;\n  undefined4 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  int local_3c;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  puVar36 = (undefined4 *)*param_1;\n  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar36[7] / iVar4;\n  iVar4 = (int)puVar36[7] % iVar4;\n  puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }\n  pcVar37 = FUN_00123798;\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_170 = puVar17 + 0x28d118;\n  piStack_160 = *(int **)(puVar17 + 0x285a98);\n  iStack_fc = *piStack_160;\n  puVar6 = (undefined4 *)*puVar21;\n  piStack_f8 = unaff_s0;\n  pfStack_f4 = pfVar30;\n  pfStack_f0 = pfVar31;\n  puStack_ec = param_1;\n  uStack_e8 = unaff_s4;\n  puStack_e4 = unaff_s5;\n  ppfStack_e0 = unaff_s6;\n  iStack_dc = unaff_s7;\n  puStack_d8 = puVar36;\n  pcStack_d4 = pcVar37;\n  dStack_d0 = in_f20_21;\n  iVar4 = (**(code **)(puVar17 + 0x286174))();\n  iVar5 = (**(code **)(puStack_170 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar6[7] / iVar4;\n  iVar4 = (int)puVar6[7] % iVar4;\n  puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  puVar17 = puStack_170;\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }\n  pcVar37 = *(code **)(puVar17 + -0x784c);\n  pcVar38 = FUN_00123c14;\n  (*pcVar37)();\n  pcStack_240 = pcVar37 + 0x28cc9c;\n  piStack_228 = *(int **)(pcVar37 + 0x28561c);\n  iStack_1c4 = *piStack_228;\n  puVar9 = (undefined4 *)*puVar36;\n  piStack_1c0 = unaff_s0;\n  pfStack_1bc = pfVar30;\n  pfStack_1b8 = pfVar31;\n  puStack_1b4 = param_1;\n  uStack_1b0 = unaff_s4;\n  puStack_1ac = unaff_s5;\n  ppfStack_1a8 = unaff_s6;\n  puStack_1a4 = puVar21;\n  puStack_1a0 = puVar6;\n  pcStack_19c = pcVar38;\n  dStack_198 = in_f20_21;\n  dStack_190 = in_f22_23;\n  iVar4 = (**(code **)(pcVar37 + 0x285cf8))();\n  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  piVar51 = (int *)((int)puVar9[7] / iVar4);\n  iVar4 = (int)puVar9[7] % iVar4;\n  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);\n  pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);\n  pcVar37 = pcStack_240;\n  if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }\n  if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }\n  pcVar38 = *(code **)(pcVar37 + -0x784c);\n  pcVar39 = FloodfillPaintImage;\n  (*pcVar38)();\n  pcVar37 = pcStack_240;\n  piVar34 = *(int **)(pcVar38 + 0x285224);\n  iStack_2b4 = *piVar34;\n  pfStack_2b0 = pfVar30;\n  piStack_2ac = piVar51;\n  puStack_2a8 = puVar36;\n  puStack_2a4 = param_1;\n  uStack_2a0 = unaff_s4;\n  puStack_29c = unaff_s5;\n  ppfStack_298 = unaff_s6;\n  puStack_294 = puVar21;\n  puStack_290 = puVar9;\n  pcStack_28c = pcVar39;\n  dStack_288 = in_f20_21;\n  dStack_280 = in_f22_23;\n  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;\n  if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  puVar21 = puVar6;\nLAB_001250a8:\n  puVar6 = puVar21;\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  do {\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}" primitive_type (function_declarator "FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "float *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "float **ppfVar3;" primitive_type (pointer_declarator "**ppfVar3" * (pointer_declarator "*ppfVar3" * identifier)) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "double *pdVar14;" primitive_type (pointer_declarator "*pdVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "float **ppfVar23;" primitive_type (pointer_declarator "**ppfVar23" * (pointer_declarator "*ppfVar23" * identifier)) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined4 uVar27;" type_identifier identifier ;) (declaration "float *pfVar28;" primitive_type (pointer_declarator "*pfVar28" * identifier) ;) (declaration "float *pfVar29;" primitive_type (pointer_declarator "*pfVar29" * identifier) ;) (declaration "int *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "float *pfVar30;" primitive_type (pointer_declarator "*pfVar30" * identifier) ;) (declaration "float *pfVar31;" primitive_type (pointer_declarator "*pfVar31" * identifier) ;) (declaration "double *pdVar32;" primitive_type (pointer_declarator "*pdVar32" * identifier) ;) (declaration "double *pdVar33;" primitive_type (pointer_declarator "*pdVar33" * identifier) ;) (declaration "uint unaff_s4;" type_identifier identifier ;) (declaration "int *piVar34;" primitive_type (pointer_declarator "*piVar34" * identifier) ;) (declaration "undefined4 *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "float **unaff_s6;" primitive_type (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier)) ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined4 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "code *pcVar39;" type_identifier (pointer_declarator "*pcVar39" * identifier) ;) (declaration "double dVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "float fVar42;" primitive_type identifier ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "double in_f20_21;" primitive_type identifier ;) (declaration "double dVar45;" primitive_type identifier ;) (declaration "ulonglong uVar46;" type_identifier identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar47;" primitive_type identifier ;) (declaration "ulonglong uVar48;" type_identifier identifier ;) (declaration "undefined8 uVar49;" type_identifier identifier ;) (declaration "int iVar50;" primitive_type identifier ;) (declaration "int *piVar51;" primitive_type (pointer_declarator "*piVar51" * identifier) ;) (declaration "uint uStack_390;" type_identifier identifier ;) (declaration "int aiStack_368 [10];" primitive_type (array_declarator "aiStack_368 [10]" identifier [ number_literal ]) ;) (declaration "double dStack_340;" primitive_type identifier ;) (declaration "double dStack_338;" primitive_type identifier ;) (declaration "double dStack_330;" primitive_type identifier ;) (declaration "double dStack_328;" primitive_type identifier ;) (declaration "double dStack_320;" primitive_type identifier ;) (declaration "undefined4 uStack_310;" type_identifier identifier ;) (declaration "undefined4 uStack_30c;" type_identifier identifier ;) (declaration "undefined4 uStack_308;" type_identifier identifier ;) (declaration "undefined8 uStack_300;" type_identifier identifier ;) (declaration "undefined4 uStack_2f8;" type_identifier identifier ;) (declaration "double dStack_2e8;" primitive_type identifier ;) (declaration "double dStack_2e0;" primitive_type identifier ;) (declaration "double dStack_2d8;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "double dStack_2c8;" primitive_type identifier ;) (declaration "double dStack_2c0;" primitive_type identifier ;) (declaration "int iStack_2b4;" primitive_type identifier ;) (declaration "float *pfStack_2b0;" primitive_type (pointer_declarator "*pfStack_2b0" * identifier) ;) (declaration "int *piStack_2ac;" primitive_type (pointer_declarator "*piStack_2ac" * identifier) ;) (declaration "undefined4 *puStack_2a8;" type_identifier (pointer_declarator "*puStack_2a8" * identifier) ;) (declaration "undefined4 *puStack_2a4;" type_identifier (pointer_declarator "*puStack_2a4" * identifier) ;) (declaration "uint uStack_2a0;" type_identifier identifier ;) (declaration "undefined4 *puStack_29c;" type_identifier (pointer_declarator "*puStack_29c" * identifier) ;) (declaration "float **ppfStack_298;" primitive_type (pointer_declarator "**ppfStack_298" * (pointer_declarator "*ppfStack_298" * identifier)) ;) (declaration "undefined4 *puStack_294;" type_identifier (pointer_declarator "*puStack_294" * identifier) ;) (declaration "undefined4 *puStack_290;" type_identifier (pointer_declarator "*puStack_290" * identifier) ;) (declaration "code *pcStack_28c;" type_identifier (pointer_declarator "*pcStack_28c" * identifier) ;) (declaration "double dStack_288;" primitive_type identifier ;) (declaration "double dStack_280;" primitive_type identifier ;) (declaration "int iStack_248;" primitive_type identifier ;) (declaration "undefined *puStack_244;" type_identifier (pointer_declarator "*puStack_244" * identifier) ;) (declaration "code *pcStack_240;" type_identifier (pointer_declarator "*pcStack_240" * identifier) ;) (declaration "float *pfStack_234;" primitive_type (pointer_declarator "*pfStack_234" * identifier) ;) (declaration "undefined4 *puStack_230;" type_identifier (pointer_declarator "*puStack_230" * identifier) ;) (declaration "undefined *puStack_22c;" type_identifier (pointer_declarator "*puStack_22c" * identifier) ;) (declaration "int *piStack_228;" primitive_type (pointer_declarator "*piStack_228" * identifier) ;) (declaration "undefined *puStack_224;" type_identifier (pointer_declarator "*puStack_224" * identifier) ;) (declaration "float *pfStack_220;" primitive_type (pointer_declarator "*pfStack_220" * identifier) ;) (declaration "undefined4 uStack_21c;" type_identifier identifier ;) (declaration "undefined4 uStack_218;" type_identifier identifier ;) (declaration "undefined8 uStack_210;" type_identifier identifier ;) (declaration "undefined4 uStack_208;" type_identifier identifier ;) (declaration "double dStack_1f8;" primitive_type identifier ;) (declaration "double dStack_1f0;" primitive_type identifier ;) (declaration "double dStack_1e8;" primitive_type identifier ;) (declaration "double dStack_1e0;" primitive_type identifier ;) (declaration "double dStack_1d8;" primitive_type identifier ;) (declaration "double dStack_1d0;" primitive_type identifier ;) (declaration "int iStack_1c4;" primitive_type identifier ;) (declaration "int *piStack_1c0;" primitive_type (pointer_declarator "*piStack_1c0" * identifier) ;) (declaration "float *pfStack_1bc;" primitive_type (pointer_declarator "*pfStack_1bc" * identifier) ;) (declaration "float *pfStack_1b8;" primitive_type (pointer_declarator "*pfStack_1b8" * identifier) ;) (declaration "undefined4 *puStack_1b4;" type_identifier (pointer_declarator "*puStack_1b4" * identifier) ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 *puStack_1ac;" type_identifier (pointer_declarator "*puStack_1ac" * identifier) ;) (declaration "float **ppfStack_1a8;" primitive_type (pointer_declarator "**ppfStack_1a8" * (pointer_declarator "*ppfStack_1a8" * identifier)) ;) (declaration "undefined4 *puStack_1a4;" type_identifier (pointer_declarator "*puStack_1a4" * identifier) ;) (declaration "undefined4 *puStack_1a0;" type_identifier (pointer_declarator "*puStack_1a0" * identifier) ;) (declaration "code *pcStack_19c;" type_identifier (pointer_declarator "*pcStack_19c" * identifier) ;) (declaration "double dStack_198;" primitive_type identifier ;) (declaration "double dStack_190;" primitive_type identifier ;) (declaration "undefined4 uStack_178;" type_identifier identifier ;) (declaration "undefined *puStack_174;" type_identifier (pointer_declarator "*puStack_174" * identifier) ;) (declaration "undefined *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "undefined *puStack_164;" type_identifier (pointer_declarator "*puStack_164" * identifier) ;) (declaration "int *piStack_160;" primitive_type (pointer_declarator "*piStack_160" * identifier) ;) (declaration "undefined *puStack_15c;" type_identifier (pointer_declarator "*puStack_15c" * identifier) ;) (declaration "float *apfStack_158 [4];" primitive_type (pointer_declarator "*apfStack_158 [4]" * (array_declarator "apfStack_158 [4]" identifier [ number_literal ])) ;) (declaration "undefined8 uStack_148;" type_identifier identifier ;) (declaration "undefined4 uStack_140;" type_identifier identifier ;) (declaration "double dStack_130;" primitive_type identifier ;) (declaration "double dStack_128;" primitive_type identifier ;) (declaration "double dStack_120;" primitive_type identifier ;) (declaration "double dStack_118;" primitive_type identifier ;) (declaration "double dStack_110;" primitive_type identifier ;) (declaration "double dStack_108;" primitive_type identifier ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "int *piStack_f8;" primitive_type (pointer_declarator "*piStack_f8" * identifier) ;) (declaration "float *pfStack_f4;" primitive_type (pointer_declarator "*pfStack_f4" * identifier) ;) (declaration "float *pfStack_f0;" primitive_type (pointer_declarator "*pfStack_f0" * identifier) ;) (declaration "undefined4 *puStack_ec;" type_identifier (pointer_declarator "*puStack_ec" * identifier) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "undefined4 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "float **ppfStack_e0;" primitive_type (pointer_declarator "**ppfStack_e0" * (pointer_declarator "*ppfStack_e0" * identifier)) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "undefined4 *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "float *local_98 [4];" primitive_type (pointer_declarator "*local_98 [4]" * (array_declarator "local_98 [4]" identifier [ number_literal ])) ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "double local_70;" primitive_type identifier ;) (declaration "double local_68;" primitive_type identifier ;) (declaration "double local_60;" primitive_type identifier ;) (declaration "double local_58;" primitive_type identifier ;) (declaration "double local_50;" primitive_type identifier ;) (declaration "double local_48;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (expression_statement "puVar17 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar17 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar36 = (undefined4 *)*param_1;" (assignment_expression "puVar36 = (undefined4 *)*param_1" identifier = (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" * (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" * (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "iVar50 = (int)puVar36[7] / iVar4;" (assignment_expression "iVar50 = (int)puVar36[7] / iVar4" identifier = (binary_expression "(int)puVar36[7] / iVar4" (cast_expression "(int)puVar36[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[7]" identifier [ number_literal ])) / identifier)) ;) (expression_statement "iVar4 = (int)puVar36[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar36[7] % iVar4" identifier = (binary_expression "(int)puVar36[7] % iVar4" (cast_expression "(int)puVar36[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar21 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar21 != (undefined4 *)0x0)" ( (binary_expression "puVar21 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" identifier = (binary_expression "iVar50 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar30 = (float *)(iVar50 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)(iVar50 * iVar5 + iVar4)" identifier = (cast_expression "(float *)(iVar50 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 * iVar5 + iVar4)" ( (binary_expression "iVar50 * iVar5 + iVar4" (binary_expression "iVar50 * iVar5" identifier * identifier) + identifier) )))) ;) (expression_statement "pfVar31 = (float *)(iVar50 + (int)pfVar30);" (assignment_expression "pfVar31 = (float *)(iVar50 + (int)pfVar30)" identifier = (cast_expression "(float *)(iVar50 + (int)pfVar30)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 + (int)pfVar30)" ( (binary_expression "iVar50 + (int)pfVar30" identifier + (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" if (parenthesized_expression "((int)pfVar30 < (int)pfVar31)" ( (binary_expression "(int)pfVar30 < (int)pfVar31" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" { (expression_statement "unaff_s6 = local_98;" (assignment_expression "unaff_s6 = local_98" identifier = identifier) ;) (expression_statement "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);" (assignment_expression "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" identifier = (cast_expression "(double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" identifier (argument_list "((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" ( (cast_expression "(int)((ulonglong)in_f22_23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f22_23 >> 0x20)" ( (binary_expression "(ulonglong)in_f22_23 >> 0x20" (cast_expression "(ulonglong)in_f22_23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (subscript_expression "param_1[2]" identifier [ number_literal ]) ))))) ;) (expression_statement "unaff_s5 = (undefined4 *)param_1[3];" (assignment_expression "unaff_s5 = (undefined4 *)param_1[3]" identifier = (cast_expression "(undefined4 *)param_1[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (undefined4 *)param_1[5];" (assignment_expression "puVar6 = (undefined4 *)param_1[5]" identifier = (cast_expression "(undefined4 *)param_1[5]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s4 = param_1[1];" (assignment_expression "unaff_s4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar7 = (undefined *)param_1[4];" (assignment_expression "puVar7 = (undefined *)param_1[4]" identifier = (cast_expression "(undefined *)param_1[4]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x2a14" identifier + number_literal)) ;) (do_statement "do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);" do (compound_statement "{\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" { (if_statement "if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }" if (parenthesized_expression "(param_1[7] != 0)" ( (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }" { (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = puVar36[6];" (assignment_expression "param_4 = puVar36[6]" identifier = (subscript_expression "puVar36[6]" identifier [ number_literal ])) ;) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" identifier = number_literal) ;) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" identifier = identifier) ;) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" identifier = identifier) ;) (expression_statement "local_b4 = puVar7;" (assignment_expression "local_b4 = puVar7" identifier = identifier) ;) (expression_statement "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();" (assignment_expression "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" identifier = (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)" ( (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003a964c" * (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003a964c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123734:\n          param_1[7] = 0;\n        }" { (labeled_statement "LAB_00123734:\n          param_1[7] = 0;" statement_identifier : (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;)) }) (else_clause "else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" else (compound_statement "{\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" { (expression_statement "puVar9 = (undefined4 *)param_1[6];" (assignment_expression "puVar9 = (undefined4 *)param_1[6]" identifier = (cast_expression "(undefined4 *)param_1[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[6]" identifier [ number_literal ]))) ;) (expression_statement "puVar21 = puVar9;" (assignment_expression "puVar21 = puVar9" identifier = identifier) ;) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);" do (compound_statement "{\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          }" { (expression_statement "ppfVar23 = ppfVar3;" (assignment_expression "ppfVar23 = ppfVar3" identifier = identifier) ;) (expression_statement "puVar11 = puVar21;" (assignment_expression "puVar11 = puVar21" identifier = identifier) ;) (expression_statement "puVar21 = puVar11 + 4;" (assignment_expression "puVar21 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "pfVar29 = (float *)puVar11[1];" (assignment_expression "pfVar29 = (float *)puVar11[1]" identifier = (cast_expression "(float *)puVar11[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar28 = (float *)puVar11[2];" (assignment_expression "pfVar28 = (float *)puVar11[2]" identifier = (cast_expression "(float *)puVar11[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = (float *)puVar11[3];" (assignment_expression "param_3 = (float *)puVar11[3]" identifier = (cast_expression "(float *)puVar11[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar23 = (float *)*puVar11;" (assignment_expression "*ppfVar23 = (float *)*puVar11" (pointer_expression "*ppfVar23" * identifier) = (cast_expression "(float *)*puVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "ppfVar23[1] = pfVar29;" (assignment_expression "ppfVar23[1] = pfVar29" (subscript_expression "ppfVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[2] = pfVar28;" (assignment_expression "ppfVar23[2] = pfVar28" (subscript_expression "ppfVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[3] = param_3;" (assignment_expression "ppfVar23[3] = param_3" (subscript_expression "ppfVar23[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar3 = ppfVar23 + 4;" (assignment_expression "ppfVar3 = ppfVar23 + 4" identifier = (binary_expression "ppfVar23 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar21 != puVar9 + 0x14)" ( (binary_expression "puVar21 != puVar9 + 0x14" identifier != (binary_expression "puVar9 + 0x14" identifier + number_literal)) )) ;) (expression_statement "pfVar28 = (float *)puVar11[5];" (assignment_expression "pfVar28 = (float *)puVar11[5]" identifier = (cast_expression "(float *)puVar11[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar23[4] = (float *)*puVar21;" (assignment_expression "ppfVar23[4] = (float *)*puVar21" (subscript_expression "ppfVar23[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar21" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "ppfVar23[5] = pfVar28;" (assignment_expression "ppfVar23[5] = pfVar28" (subscript_expression "ppfVar23[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }" if (parenthesized_expression "(0 < (int)puVar36[6])" ( (binary_expression "0 < (int)puVar36[6]" number_literal < (cast_expression "(int)puVar36[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }" { (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);" do (compound_statement "{\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            }" { (expression_statement "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);" (call_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58)" (parenthesized_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)" ( (pointer_expression "*(code *)PTR_ResetMagickMemory_003a8ff4" * (cast_expression "(code *)PTR_ResetMagickMemory_003a8ff4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "local_88 = *(undefined8 *)(puVar36 + 0x92);" (assignment_expression "local_88 = *(undefined8 *)(puVar36 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar36 + 0x92)" * (cast_expression "(undefined8 *)(puVar36 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0x92)" ( (binary_expression "puVar36 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "local_98[0] = (float *)*puVar36;" (assignment_expression "local_98[0] = (float *)*puVar36" (subscript_expression "local_98[0]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar36" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "local_98[1] = (float *)puVar36[1];" (assignment_expression "local_98[1] = (float *)puVar36[1]" (subscript_expression "local_98[1]" identifier [ number_literal ]) = (cast_expression "(float *)puVar36[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[1]" identifier [ number_literal ]))) ;) (expression_statement "local_80 = puVar36[8];" (assignment_expression "local_80 = puVar36[8]" identifier = (subscript_expression "puVar36[8]" identifier [ number_literal ])) ;) (expression_statement "local_98[2] = (float *)puVar36[0xaf];" (assignment_expression "local_98[2] = (float *)puVar36[0xaf]" (subscript_expression "local_98[2]" identifier [ number_literal ]) = (cast_expression "(float *)puVar36[0xaf]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[0xaf]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = local_98[0];" (assignment_expression "param_3 = local_98[0]" identifier = (subscript_expression "local_98[0]" identifier [ number_literal ])) ;) (expression_statement "local_50 = in_f20_21;" (assignment_expression "local_50 = in_f20_21" identifier = identifier) ;) (if_statement "if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" if (parenthesized_expression "(unaff_s7 != 0)" ( (binary_expression "unaff_s7 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" { (expression_statement "iVar4 = puVar36[0xb4];" (assignment_expression "iVar4 = puVar36[0xb4]" identifier = (subscript_expression "puVar36[0xb4]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" identifier = (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) ;) (expression_statement "local_70 = (double)*param_3;" (assignment_expression "local_70 = (double)*param_3" identifier = (cast_expression "(double)*param_3" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" { (expression_statement "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" { (expression_statement "local_98[2] = (float *)0x4;" (assignment_expression "local_98[2] = (float *)0x4" (subscript_expression "local_98[2]" identifier [ number_literal ]) = (cast_expression "(float *)0x4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" { (expression_statement "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) })) })) (expression_statement "puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);" (assignment_expression "puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" identifier = (cast_expression "(undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" (parenthesized_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)" ( (pointer_expression "*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" * (cast_expression "(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,unaff_s4)" ( identifier , identifier ))))) ;) (if_statement "if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" if (parenthesized_expression "((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0))" ( (binary_expression "(unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s5 != puVar21)" ( (binary_expression "unaff_s5 != puVar21" identifier != identifier) )) && (parenthesized_expression "(*(int *)(puVar36[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)(puVar36[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar36[0xb4] + 0x34)" * (cast_expression "(int *)(puVar36[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36[0xb4] + 0x34)" ( (binary_expression "puVar36[0xb4] + 0x34" (subscript_expression "puVar36[0xb4]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" { (expression_statement "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);" (assignment_expression "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0)" (pointer_expression "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" * (cast_expression "(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" ( (binary_expression "unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)(puVar36[0xb4] + 0x38) * 4" (pointer_expression "*(int *)(puVar36[0xb4] + 0x38)" * (cast_expression "(int *)(puVar36[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36[0xb4] + 0x38)" ( (binary_expression "puVar36[0xb4] + 0x38" (subscript_expression "puVar36[0xb4]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) = (call_expression "SUB84(in_f22_23,0)" identifier (argument_list "(in_f22_23,0)" ( identifier , number_literal )))) ;) })) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" identifier = (cast_expression "(int *)((int)unaff_s0 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 1)" ( (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;" (assignment_expression "unaff_s7 = unaff_s7 + puVar36[0xb0] * 4" identifier = (binary_expression "unaff_s7 + puVar36[0xb0] * 4" identifier + (binary_expression "puVar36[0xb0] * 4" (subscript_expression "puVar36[0xb0]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "((int)unaff_s0 < (int)puVar36[6])" ( (binary_expression "(int)unaff_s0 < (int)puVar36[6]" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar36[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" identifier = identifier) ;) (expression_statement "param_2 = puVar7;" (assignment_expression "param_2 = puVar7" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)" ( (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" * (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            param_1[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            param_1[7] = 0;\n          }" { (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" if (parenthesized_expression "(puVar36[0xca] != 0)" ( (binary_expression "puVar36[0xca] != 0" (subscript_expression "puVar36[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" { (expression_statement "unaff_s0 = (int *)param_1[8];" (assignment_expression "unaff_s0 = (int *)param_1[8]" identifier = (cast_expression "(int *)param_1[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[8]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)PTR_GOMP_atomic_start_003a92e4)();" (call_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)()" (parenthesized_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)" ( (pointer_expression "*(code *)PTR_GOMP_atomic_start_003a92e4" * (cast_expression "(code *)PTR_GOMP_atomic_start_003a92e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar1 = PTR_GOMP_atomic_end_003a9438;" (assignment_expression "puVar1 = PTR_GOMP_atomic_end_003a9438" identifier = identifier) ;) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" identifier = (subscript_expression "unaff_s0[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s0[1] = uVar22;" (assignment_expression "unaff_s0[1] = uVar22" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" * identifier) = (binary_expression "(uint)(uVar22 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar10)" ( (binary_expression "uVar22 < uVar10" identifier < identifier) ))) + (pointer_expression "*unaff_s0" * identifier))) ;) (expression_statement "(*(code *)puVar1)();" (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_b4 = (undefined *)puVar36[7];" (assignment_expression "local_b4 = (undefined *)puVar36[7]" identifier = (cast_expression "(undefined *)puVar36[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[7]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = ((undefined4 *)param_1[8])[1];" (assignment_expression "param_4 = ((undefined4 *)param_1[8])[1]" identifier = (subscript_expression "((undefined4 *)param_1[8])[1]" (parenthesized_expression "((undefined4 *)param_1[8])" ( (cast_expression "(undefined4 *)param_1[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "param_3 = *(float **)param_1[8];" (assignment_expression "param_3 = *(float **)param_1[8]" identifier = (pointer_expression "*(float **)param_1[8]" * (cast_expression "(float **)param_1[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[8]" identifier [ number_literal ])))) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "puVar21 = puVar36;" (assignment_expression "puVar21 = puVar36" identifier = identifier) ;) (expression_statement "param_2 = puVar8;" (assignment_expression "param_2 = puVar8" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();" (assignment_expression "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)()" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)()" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00123734;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123734;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" identifier = (cast_expression "(float *)((int)pfVar30 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar30 + 1)" ( (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfVar31 != pfVar30)" ( (binary_expression "pfVar31 != pfVar30" identifier != identifier) )) ;) })) (if_statement "if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }" if (parenthesized_expression "(local_3c == *(int *)puVar17)" ( (binary_expression "local_3c == *(int *)puVar17" identifier == (pointer_expression "*(int *)puVar17" * (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar17;\n  }" { (return_statement "return *(int *)puVar17;" return (pointer_expression "*(int *)puVar17" * (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "pcVar37 = FUN_00123798;" (assignment_expression "pcVar37 = FUN_00123798" identifier = identifier) ;) (expression_statement "puVar17 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar17 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_170 = puVar17 + 0x28d118;" (assignment_expression "puStack_170 = puVar17 + 0x28d118" identifier = (binary_expression "puVar17 + 0x28d118" identifier + number_literal)) ;) (expression_statement "piStack_160 = *(int **)(puVar17 + 0x285a98);" (assignment_expression "piStack_160 = *(int **)(puVar17 + 0x285a98)" identifier = (pointer_expression "*(int **)(puVar17 + 0x285a98)" * (cast_expression "(int **)(puVar17 + 0x285a98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x285a98)" ( (binary_expression "puVar17 + 0x285a98" identifier + number_literal) ))))) ;) (expression_statement "iStack_fc = *piStack_160;" (assignment_expression "iStack_fc = *piStack_160" identifier = (pointer_expression "*piStack_160" * identifier)) ;) (expression_statement "puVar6 = (undefined4 *)*puVar21;" (assignment_expression "puVar6 = (undefined4 *)*puVar21" identifier = (cast_expression "(undefined4 *)*puVar21" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "piStack_f8 = unaff_s0;" (assignment_expression "piStack_f8 = unaff_s0" identifier = identifier) ;) (expression_statement "pfStack_f4 = pfVar30;" (assignment_expression "pfStack_f4 = pfVar30" identifier = identifier) ;) (expression_statement "pfStack_f0 = pfVar31;" (assignment_expression "pfStack_f0 = pfVar31" identifier = identifier) ;) (expression_statement "puStack_ec = param_1;" (assignment_expression "puStack_ec = param_1" identifier = identifier) ;) (expression_statement "uStack_e8 = unaff_s4;" (assignment_expression "uStack_e8 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_e4 = unaff_s5;" (assignment_expression "puStack_e4 = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_e0 = unaff_s6;" (assignment_expression "ppfStack_e0 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_dc = unaff_s7;" (assignment_expression "iStack_dc = unaff_s7" identifier = identifier) ;) (expression_statement "puStack_d8 = puVar36;" (assignment_expression "puStack_d8 = puVar36" identifier = identifier) ;) (expression_statement "pcStack_d4 = pcVar37;" (assignment_expression "pcStack_d4 = pcVar37" identifier = identifier) ;) (expression_statement "dStack_d0 = in_f20_21;" (assignment_expression "dStack_d0 = in_f20_21" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puVar17 + 0x286174))();" (assignment_expression "iVar4 = (**(code **)(puVar17 + 0x286174))()" identifier = (call_expression "(**(code **)(puVar17 + 0x286174))()" (parenthesized_expression "(**(code **)(puVar17 + 0x286174))" ( (pointer_expression "**(code **)(puVar17 + 0x286174)" * (pointer_expression "*(code **)(puVar17 + 0x286174)" * (cast_expression "(code **)(puVar17 + 0x286174)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x286174)" ( (binary_expression "puVar17 + 0x286174" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(puStack_170 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(puStack_170 + -0x73a8))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x73a8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73a8))" ( (pointer_expression "**(code **)(puStack_170 + -0x73a8)" * (pointer_expression "*(code **)(puStack_170 + -0x73a8)" * (cast_expression "(code **)(puStack_170 + -0x73a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x73a8)" ( (binary_expression "puStack_170 + -0x73a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "iVar50 = (int)puVar6[7] / iVar4;" (assignment_expression "iVar50 = (int)puVar6[7] / iVar4" identifier = (binary_expression "(int)puVar6[7] / iVar4" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) / identifier)) ;) (expression_statement "iVar4 = (int)puVar6[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar6[7] % iVar4" identifier = (binary_expression "(int)puVar6[7] % iVar4" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar36 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar36 != (undefined4 *)0x0)" ( (binary_expression "puVar36 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" identifier = (binary_expression "iVar50 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar30 = (float *)(iVar50 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)(iVar50 * iVar5 + iVar4)" identifier = (cast_expression "(float *)(iVar50 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 * iVar5 + iVar4)" ( (binary_expression "iVar50 * iVar5 + iVar4" (binary_expression "iVar50 * iVar5" identifier * identifier) + identifier) )))) ;) (expression_statement "pfVar31 = (float *)(iVar50 + (int)pfVar30);" (assignment_expression "pfVar31 = (float *)(iVar50 + (int)pfVar30)" identifier = (cast_expression "(float *)(iVar50 + (int)pfVar30)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 + (int)pfVar30)" ( (binary_expression "iVar50 + (int)pfVar30" identifier + (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) (if_statement "if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" if (parenthesized_expression "((int)pfVar30 < (int)pfVar31)" ( (binary_expression "(int)pfVar30 < (int)pfVar31" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" { (expression_statement "unaff_s6 = apfStack_158;" (assignment_expression "unaff_s6 = apfStack_158" identifier = identifier) ;) (expression_statement "unaff_s5 = (undefined4 *)puVar21[3];" (assignment_expression "unaff_s5 = (undefined4 *)puVar21[3]" identifier = (cast_expression "(undefined4 *)puVar21[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[3]" identifier [ number_literal ]))) ;) (expression_statement "param_1 = (undefined4 *)puVar21[1];" (assignment_expression "param_1 = (undefined4 *)puVar21[1]" identifier = (cast_expression "(undefined4 *)puVar21[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ;) (expression_statement "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(puStack_170 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(puStack_170 + -0x7fd0)" * (cast_expression "(int *)(puStack_170 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_170 + -0x7fd0)" ( (binary_expression "puStack_170 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puStack_164 = (undefined *)puVar21[2];" (assignment_expression "puStack_164 = (undefined *)puVar21[2]" identifier = (cast_expression "(undefined *)puVar21[2]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[2]" identifier [ number_literal ]))) ;) (expression_statement "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);" (assignment_expression "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" identifier = (cast_expression "(undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" ( (binary_expression "*(int *)(puStack_170 + -0x7fcc) + 0x2a28" (pointer_expression "*(int *)(puStack_170 + -0x7fcc)" * (cast_expression "(int *)(puStack_170 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_170 + -0x7fcc)" ( (binary_expression "puStack_170 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);" do (compound_statement "{\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" { (if_statement "if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" if (parenthesized_expression "(puVar21[7] != 0)" ( (binary_expression "puVar21[7] != 0" (subscript_expression "puVar21[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" { (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = puVar6[6];" (assignment_expression "param_4 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "puStack_174 = puStack_164;" (assignment_expression "puStack_174 = puStack_164" identifier = identifier) ;) (expression_statement "uStack_178 = 1;" (assignment_expression "uStack_178 = 1" identifier = number_literal) ;) (expression_statement "puVar36 = unaff_s5;" (assignment_expression "puVar36 = unaff_s5" identifier = identifier) ;) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" identifier = identifier) ;) (expression_statement "unaff_s4 = (**(code **)(puVar17 + -0x7264))();" (assignment_expression "unaff_s4 = (**(code **)(puVar17 + -0x7264))()" identifier = (call_expression "(**(code **)(puVar17 + -0x7264))()" (parenthesized_expression "(**(code **)(puVar17 + -0x7264))" ( (pointer_expression "**(code **)(puVar17 + -0x7264)" * (pointer_expression "*(code **)(puVar17 + -0x7264)" * (cast_expression "(code **)(puVar17 + -0x7264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x7264)" ( (binary_expression "puVar17 + -0x7264" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" if (parenthesized_expression "(unaff_s4 == 0)" ( (binary_expression "unaff_s4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }" { (labeled_statement "LAB_00123bb4:\n          puVar21[7] = 0;" statement_identifier : (expression_statement "puVar21[7] = 0;" (assignment_expression "puVar21[7] = 0" (subscript_expression "puVar21[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) }) (else_clause "else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" else (compound_statement "{\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" { (expression_statement "puVar9 = (undefined4 *)puVar21[6];" (assignment_expression "puVar9 = (undefined4 *)puVar21[6]" identifier = (cast_expression "(undefined4 *)puVar21[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[6]" identifier [ number_literal ]))) ;) (expression_statement "puVar36 = puVar9;" (assignment_expression "puVar36 = puVar9" identifier = identifier) ;) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);" do (compound_statement "{\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          }" { (expression_statement "ppfVar23 = ppfVar3;" (assignment_expression "ppfVar23 = ppfVar3" identifier = identifier) ;) (expression_statement "puVar11 = puVar36;" (assignment_expression "puVar11 = puVar36" identifier = identifier) ;) (expression_statement "puVar36 = puVar11 + 4;" (assignment_expression "puVar36 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "pfVar29 = (float *)puVar11[1];" (assignment_expression "pfVar29 = (float *)puVar11[1]" identifier = (cast_expression "(float *)puVar11[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar28 = (float *)puVar11[2];" (assignment_expression "pfVar28 = (float *)puVar11[2]" identifier = (cast_expression "(float *)puVar11[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = (float *)puVar11[3];" (assignment_expression "param_3 = (float *)puVar11[3]" identifier = (cast_expression "(float *)puVar11[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar23 = (float *)*puVar11;" (assignment_expression "*ppfVar23 = (float *)*puVar11" (pointer_expression "*ppfVar23" * identifier) = (cast_expression "(float *)*puVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "ppfVar23[1] = pfVar29;" (assignment_expression "ppfVar23[1] = pfVar29" (subscript_expression "ppfVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[2] = pfVar28;" (assignment_expression "ppfVar23[2] = pfVar28" (subscript_expression "ppfVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[3] = param_3;" (assignment_expression "ppfVar23[3] = param_3" (subscript_expression "ppfVar23[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar3 = ppfVar23 + 4;" (assignment_expression "ppfVar3 = ppfVar23 + 4" identifier = (binary_expression "ppfVar23 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar36 != puVar9 + 0x14)" ( (binary_expression "puVar36 != puVar9 + 0x14" identifier != (binary_expression "puVar9 + 0x14" identifier + number_literal)) )) ;) (expression_statement "pfVar28 = (float *)puVar11[5];" (assignment_expression "pfVar28 = (float *)puVar11[5]" identifier = (cast_expression "(float *)puVar11[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar23[4] = (float *)*puVar36;" (assignment_expression "ppfVar23[4] = (float *)*puVar36" (subscript_expression "ppfVar23[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar36" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "ppfVar23[5] = pfVar28;" (assignment_expression "ppfVar23[5] = pfVar28" (subscript_expression "ppfVar23[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" if (parenthesized_expression "(0 < (int)puVar6[6])" ( (binary_expression "0 < (int)puVar6[6]" number_literal < (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" { (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x78bc)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x78bc)" * (cast_expression "(code **)(puStack_170 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x78bc)" ( (binary_expression "puStack_170 + -0x78bc" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );" do (compound_statement "{\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            }" { (expression_statement "(*pcVar37)(unaff_s6,0,0x58);" (call_expression "(*pcVar37)(unaff_s6,0,0x58)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_148 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_148 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "apfStack_158[0] = (float *)*puVar6;" (assignment_expression "apfStack_158[0] = (float *)*puVar6" (subscript_expression "apfStack_158[0]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar6" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "apfStack_158[1] = (float *)puVar6[1];" (assignment_expression "apfStack_158[1] = (float *)puVar6[1]" (subscript_expression "apfStack_158[1]" identifier [ number_literal ]) = (cast_expression "(float *)puVar6[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uStack_140 = puVar6[8];" (assignment_expression "uStack_140 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "apfStack_158[2] = (float *)puVar6[0xaf];" (assignment_expression "apfStack_158[2] = (float *)puVar6[0xaf]" (subscript_expression "apfStack_158[2]" identifier [ number_literal ]) = (cast_expression "(float *)puVar6[0xaf]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[0xaf]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = apfStack_158[0];" (assignment_expression "param_3 = apfStack_158[0]" identifier = (subscript_expression "apfStack_158[0]" identifier [ number_literal ])) ;) (expression_statement "dStack_110 = in_f20_21;" (assignment_expression "dStack_110 = in_f20_21" identifier = identifier) ;) (if_statement "if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" if (parenthesized_expression "(unaff_s4 == 0)" ( (binary_expression "unaff_s4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }" { (labeled_statement "LAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);" statement_identifier : (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x792c)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x792c)" * (cast_expression "(code **)(puStack_170 + -0x792c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x792c)" ( (binary_expression "puStack_170 + -0x792c" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" else (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" { (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" identifier = (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) ;) (expression_statement "dStack_130 = (double)*param_3;" (assignment_expression "dStack_130 = (double)*param_3" identifier = (cast_expression "(double)*param_3" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" { (expression_statement "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" { (expression_statement "apfStack_158[2] = (float *)0x4;" (assignment_expression "apfStack_158[2] = (float *)0x4" (subscript_expression "apfStack_158[2]" identifier [ number_literal ]) = (cast_expression "(float *)0x4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x792c)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x792c)" * (cast_expression "(code **)(puStack_170 + -0x792c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x792c)" ( (binary_expression "puStack_170 + -0x792c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" { (expression_statement "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_00123a48;" goto statement_identifier ;) })) }))) (expression_statement "puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);" (assignment_expression "puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5])" identifier = (cast_expression "(undefined4 *)(*pcVar37)(unaff_s6,puVar21[5])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar37)(unaff_s6,puVar21[5])" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(unaff_s6,puVar21[5])" ( identifier , (subscript_expression "puVar21[5]" identifier [ number_literal ]) ))))) ;) (if_statement "if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }" if (parenthesized_expression "(param_1 != puVar36)" ( (binary_expression "param_1 != puVar36" identifier != identifier) )) (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }" { (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 4) & 2)" ( (binary_expression "*(uint *)(iVar4 + 4) & 2" (pointer_expression "*(uint *)(iVar4 + 4)" * (cast_expression "(uint *)(iVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar21[4] + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar21[4] + 0x28)" * (cast_expression "(double *)(puVar21[4] + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x28)" ( (binary_expression "puVar21[4] + 0x28" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x10) & 2" (pointer_expression "*(uint *)(iVar4 + 0x10)" * (cast_expression "(uint *)(iVar4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar21[4] + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar21[4] + 0x30)" * (cast_expression "(double *)(puVar21[4] + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x30)" ( (binary_expression "puVar21[4] + 0x30" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar4 + 0x1c)" * (cast_expression "(uint *)(iVar4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar21[4] + 0x38)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar21[4] + 0x38)" * (cast_expression "(double *)(puVar21[4] + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x38)" ( (binary_expression "puVar21[4] + 0x38" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (expression_statement "uVar10 = *(uint *)(iVar4 + 0x34) & 2;" (assignment_expression "uVar10 = *(uint *)(iVar4 + 0x34) & 2" identifier = (binary_expression "*(uint *)(iVar4 + 0x34) & 2" (pointer_expression "*(uint *)(iVar4 + 0x34)" * (cast_expression "(uint *)(iVar4 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x28) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x28) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x28) & 2" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }" { (if_statement "if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" { (expression_statement "dVar40 = *(double *)(puVar21[4] + 0x48);" (assignment_expression "dVar40 = *(double *)(puVar21[4] + 0x48)" identifier = (pointer_expression "*(double *)(puVar21[4] + 0x48)" * (cast_expression "(double *)(puVar21[4] + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x48)" ( (binary_expression "puVar21[4] + 0x48" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) ))))) ;) (goto_statement "goto LAB_0012391c;" goto statement_identifier ;) })) }) (else_clause "else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" else (compound_statement "{\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" { (expression_statement "param_3 = (float *)puVar21[4];" (assignment_expression "param_3 = (float *)puVar21[4]" identifier = (cast_expression "(float *)puVar21[4]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[4]" identifier [ number_literal ]))) ;) (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(param_3 + 0x10)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(param_3 + 0x10)" * (cast_expression "(double *)(param_3 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }" { (expression_statement "dVar40 = *(double *)(param_3 + 0x12);" (assignment_expression "dVar40 = *(double *)(param_3 + 0x12)" identifier = (pointer_expression "*(double *)(param_3 + 0x12)" * (cast_expression "(double *)(param_3 + 0x12)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x12)" ( (binary_expression "param_3 + 0x12" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;" statement_identifier : (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar40" ( (type_descriptor "float" primitive_type) ) identifier)) ;)) })) }))) })) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" identifier = (cast_expression "(int *)((int)unaff_s0 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 1)" ( (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;" (assignment_expression "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4" identifier = (binary_expression "unaff_s4 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (if_statement "if ((int)puVar6[6] <= (int)unaff_s0) break;" if (parenthesized_expression "((int)puVar6[6] <= (int)unaff_s0)" ( (binary_expression "(int)puVar6[6] <= (int)unaff_s0" (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ])) <= (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x78bc)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x78bc)" * (cast_expression "(code **)(puStack_170 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x78bc)" ( (binary_expression "puStack_170 + -0x78bc" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar36 = unaff_s5;" (assignment_expression "puVar36 = unaff_s5" identifier = identifier) ;) (expression_statement "param_2 = puStack_164;" (assignment_expression "param_2 = puStack_164" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x73b8))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x73b8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73b8))" ( (pointer_expression "**(code **)(puStack_170 + -0x73b8)" * (pointer_expression "*(code **)(puStack_170 + -0x73b8)" * (cast_expression "(code **)(puStack_170 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x73b8)" ( (binary_expression "puStack_170 + -0x73b8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar21[7] = 0;\n          }" { (expression_statement "puVar21[7] = 0;" (assignment_expression "puVar21[7] = 0" (subscript_expression "puVar21[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) (if_statement "if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" if (parenthesized_expression "(puVar6[0xca] != 0)" ( (binary_expression "puVar6[0xca] != 0" (subscript_expression "puVar6[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" { (expression_statement "unaff_s0 = (int *)puVar21[8];" (assignment_expression "unaff_s0 = (int *)puVar21[8]" identifier = (cast_expression "(int *)puVar21[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[8]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(puStack_170 + -0x75cc))();" (call_expression "(**(code **)(puStack_170 + -0x75cc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x75cc))" ( (pointer_expression "**(code **)(puStack_170 + -0x75cc)" * (pointer_expression "*(code **)(puStack_170 + -0x75cc)" * (cast_expression "(code **)(puStack_170 + -0x75cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x75cc)" ( (binary_expression "puStack_170 + -0x75cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" identifier = (subscript_expression "unaff_s0[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x7478);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x7478)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x7478)" * (cast_expression "(code **)(puStack_170 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x7478)" ( (binary_expression "puStack_170 + -0x7478" identifier + number_literal) ))))) ;) (expression_statement "unaff_s0[1] = uVar22;" (assignment_expression "unaff_s0[1] = uVar22" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" * identifier) = (binary_expression "(uint)(uVar22 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar10)" ( (binary_expression "uVar22 < uVar10" identifier < identifier) ))) + (pointer_expression "*unaff_s0" * identifier))) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_174 = (undefined *)puVar6[7];" (assignment_expression "puStack_174 = (undefined *)puVar6[7]" identifier = (cast_expression "(undefined *)puVar6[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = ((undefined4 *)puVar21[8])[1];" (assignment_expression "param_4 = ((undefined4 *)puVar21[8])[1]" identifier = (subscript_expression "((undefined4 *)puVar21[8])[1]" (parenthesized_expression "((undefined4 *)puVar21[8])" ( (cast_expression "(undefined4 *)puVar21[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "param_3 = *(float **)puVar21[8];" (assignment_expression "param_3 = *(float **)puVar21[8]" identifier = (pointer_expression "*(float **)puVar21[8]" * (cast_expression "(float **)puVar21[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar21[8]" identifier [ number_literal ])))) ;) (expression_statement "uStack_178 = 0;" (assignment_expression "uStack_178 = 0" identifier = number_literal) ;) (expression_statement "puVar36 = puVar6;" (assignment_expression "puVar36 = puVar6" identifier = identifier) ;) (expression_statement "param_2 = puStack_15c;" (assignment_expression "param_2 = puStack_15c" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x7bfc))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x7bfc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x7bfc))" ( (pointer_expression "**(code **)(puStack_170 + -0x7bfc)" * (pointer_expression "*(code **)(puStack_170 + -0x7bfc)" * (cast_expression "(code **)(puStack_170 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x7bfc)" ( (binary_expression "puStack_170 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_00123bb4;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123bb4;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" identifier = (cast_expression "(float *)((int)pfVar30 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar30 + 1)" ( (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfVar31 != pfVar30)" ( (binary_expression "pfVar31 != pfVar30" identifier != identifier) )) ;) })) (if_statement "if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }" if (parenthesized_expression "(iStack_fc == *piStack_160)" ( (binary_expression "iStack_fc == *piStack_160" identifier == (pointer_expression "*piStack_160" * identifier)) )) (compound_statement "{\n    return *piStack_160;\n  }" { (return_statement "return *piStack_160;" return (pointer_expression "*piStack_160" * identifier) ;) })) (expression_statement "pcVar37 = *(code **)(puVar17 + -0x784c);" (assignment_expression "pcVar37 = *(code **)(puVar17 + -0x784c)" identifier = (pointer_expression "*(code **)(puVar17 + -0x784c)" * (cast_expression "(code **)(puVar17 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x784c)" ( (binary_expression "puVar17 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = FUN_00123c14;" (assignment_expression "pcVar38 = FUN_00123c14" identifier = identifier) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_240 = pcVar37 + 0x28cc9c;" (assignment_expression "pcStack_240 = pcVar37 + 0x28cc9c" identifier = (binary_expression "pcVar37 + 0x28cc9c" identifier + number_literal)) ;) (expression_statement "piStack_228 = *(int **)(pcVar37 + 0x28561c);" (assignment_expression "piStack_228 = *(int **)(pcVar37 + 0x28561c)" identifier = (pointer_expression "*(int **)(pcVar37 + 0x28561c)" * (cast_expression "(int **)(pcVar37 + 0x28561c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0x28561c)" ( (binary_expression "pcVar37 + 0x28561c" identifier + number_literal) ))))) ;) (expression_statement "iStack_1c4 = *piStack_228;" (assignment_expression "iStack_1c4 = *piStack_228" identifier = (pointer_expression "*piStack_228" * identifier)) ;) (expression_statement "puVar9 = (undefined4 *)*puVar36;" (assignment_expression "puVar9 = (undefined4 *)*puVar36" identifier = (cast_expression "(undefined4 *)*puVar36" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "piStack_1c0 = unaff_s0;" (assignment_expression "piStack_1c0 = unaff_s0" identifier = identifier) ;) (expression_statement "pfStack_1bc = pfVar30;" (assignment_expression "pfStack_1bc = pfVar30" identifier = identifier) ;) (expression_statement "pfStack_1b8 = pfVar31;" (assignment_expression "pfStack_1b8 = pfVar31" identifier = identifier) ;) (expression_statement "puStack_1b4 = param_1;" (assignment_expression "puStack_1b4 = param_1" identifier = identifier) ;) (expression_statement "uStack_1b0 = unaff_s4;" (assignment_expression "uStack_1b0 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_1ac = unaff_s5;" (assignment_expression "puStack_1ac = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_1a8 = unaff_s6;" (assignment_expression "ppfStack_1a8 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_1a4 = puVar21;" (assignment_expression "puStack_1a4 = puVar21" identifier = identifier) ;) (expression_statement "puStack_1a0 = puVar6;" (assignment_expression "puStack_1a0 = puVar6" identifier = identifier) ;) (expression_statement "pcStack_19c = pcVar38;" (assignment_expression "pcStack_19c = pcVar38" identifier = identifier) ;) (expression_statement "dStack_198 = in_f20_21;" (assignment_expression "dStack_198 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_190 = in_f22_23;" (assignment_expression "dStack_190 = in_f22_23" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar37 + 0x285cf8))();" (assignment_expression "iVar4 = (**(code **)(pcVar37 + 0x285cf8))()" identifier = (call_expression "(**(code **)(pcVar37 + 0x285cf8))()" (parenthesized_expression "(**(code **)(pcVar37 + 0x285cf8))" ( (pointer_expression "**(code **)(pcVar37 + 0x285cf8)" * (pointer_expression "*(code **)(pcVar37 + 0x285cf8)" * (cast_expression "(code **)(pcVar37 + 0x285cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0x285cf8)" ( (binary_expression "pcVar37 + 0x285cf8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_240 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(pcStack_240 + -0x73a8))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x73a8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73a8))" ( (pointer_expression "**(code **)(pcStack_240 + -0x73a8)" * (pointer_expression "*(code **)(pcStack_240 + -0x73a8)" * (cast_expression "(code **)(pcStack_240 + -0x73a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x73a8)" ( (binary_expression "pcStack_240 + -0x73a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "piVar51 = (int *)((int)puVar9[7] / iVar4);" (assignment_expression "piVar51 = (int *)((int)puVar9[7] / iVar4)" identifier = (cast_expression "(int *)((int)puVar9[7] / iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9[7] / iVar4)" ( (binary_expression "(int)puVar9[7] / iVar4" (cast_expression "(int)puVar9[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[7]" identifier [ number_literal ])) / identifier) )))) ;) (expression_statement "iVar4 = (int)puVar9[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar9[7] % iVar4" identifier = (binary_expression "(int)puVar9[7] % iVar4" (cast_expression "(int)puVar9[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }" { (expression_statement "piVar51 = (int *)((int)piVar51 + 1);" (assignment_expression "piVar51 = (int *)((int)piVar51 + 1)" identifier = (cast_expression "(int *)((int)piVar51 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar51 + 1)" ( (binary_expression "(int)piVar51 + 1" (cast_expression "(int)piVar51" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4)" identifier = (cast_expression "(float *)((int)piVar51 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar51 * iVar5 + iVar4)" ( (binary_expression "(int)piVar51 * iVar5 + iVar4" (binary_expression "(int)piVar51 * iVar5" (cast_expression "(int)piVar51" ( (type_descriptor "int" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (expression_statement "pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);" (assignment_expression "pfStack_234 = (float *)((int)piVar51 + (int)pfVar30)" identifier = (cast_expression "(float *)((int)piVar51 + (int)pfVar30)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar51 + (int)pfVar30)" ( (binary_expression "(int)piVar51 + (int)pfVar30" (cast_expression "(int)piVar51" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (if_statement "if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }" if (parenthesized_expression "((int)pfVar30 < (int)pfStack_234)" ( (binary_expression "(int)pfVar30 < (int)pfStack_234" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfStack_234" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }" { (expression_statement "unaff_s6 = &pfStack_220;" (assignment_expression "unaff_s6 = &pfStack_220" identifier = (pointer_expression "&pfStack_220" & identifier)) ;) (expression_statement "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);" (assignment_expression "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" identifier = (cast_expression "(double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" identifier (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" ( (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" ( (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (subscript_expression "puVar36[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "unaff_s4 = puVar36[4];" (assignment_expression "unaff_s4 = puVar36[4]" identifier = (subscript_expression "puVar36[4]" identifier [ number_literal ])) ;) (expression_statement "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_240 + -0x7fd0)" * (cast_expression "(int *)(pcStack_240 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd0)" ( (binary_expression "pcStack_240 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puStack_230 = (undefined4 *)puVar36[6];" (assignment_expression "puStack_230 = (undefined4 *)puVar36[6]" identifier = (cast_expression "(undefined4 *)puVar36[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s5 = (undefined4 *)puVar36[2];" (assignment_expression "unaff_s5 = (undefined4 *)puVar36[2]" identifier = (cast_expression "(undefined4 *)puVar36[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[2]" identifier [ number_literal ]))) ;) (expression_statement "param_1 = (undefined4 *)puVar36[1];" (assignment_expression "param_1 = (undefined4 *)puVar36[1]" identifier = (cast_expression "(undefined4 *)puVar36[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[1]" identifier [ number_literal ]))) ;) (expression_statement "puStack_22c = (undefined *)puVar36[5];" (assignment_expression "puStack_22c = (undefined *)puVar36[5]" identifier = (cast_expression "(undefined *)puVar36[5]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[5]" identifier [ number_literal ]))) ;) (expression_statement "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);" (assignment_expression "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" identifier = (cast_expression "(undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fcc) + 0x2a14" (pointer_expression "*(int *)(pcStack_240 + -0x7fcc)" * (cast_expression "(int *)(pcStack_240 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fcc)" ( (binary_expression "pcStack_240 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);" do (compound_statement "{\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" { (if_statement "if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" if (parenthesized_expression "(puVar36[7] != 0)" ( (binary_expression "puVar36[7] != 0" (subscript_expression "puVar36[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" { (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = puVar9[6];" (assignment_expression "param_4 = puVar9[6]" identifier = (subscript_expression "puVar9[6]" identifier [ number_literal ])) ;) (expression_statement "puStack_244 = puStack_22c;" (assignment_expression "puStack_244 = puStack_22c" identifier = identifier) ;) (expression_statement "iStack_248 = 1;" (assignment_expression "iStack_248 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" identifier = identifier) ;) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" identifier = identifier) ;) (expression_statement "piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();" (assignment_expression "piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))()" identifier = (cast_expression "(int *)(**(code **)(pcVar37 + -0x7264))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar37 + -0x7264))()" (parenthesized_expression "(**(code **)(pcVar37 + -0x7264))" ( (pointer_expression "**(code **)(pcVar37 + -0x7264)" * (pointer_expression "*(code **)(pcVar37 + -0x7264)" * (cast_expression "(code **)(pcVar37 + -0x7264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + -0x7264)" ( (binary_expression "pcVar37 + -0x7264" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" if (parenthesized_expression "(piVar51 == (int *)0x0)" ( (binary_expression "piVar51 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }" { (labeled_statement "LAB_00123f74:\n          puVar36[7] = 0;" statement_identifier : (expression_statement "puVar36[7] = 0;" (assignment_expression "puVar36[7] = 0" (subscript_expression "puVar36[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) }) (else_clause "else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" else (compound_statement "{\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" { (expression_statement "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);" (call_expression "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75fc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x75fc)" * (pointer_expression "*(code **)(pcStack_240 + -0x75fc)" * (cast_expression "(code **)(pcStack_240 + -0x75fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x75fc)" ( (binary_expression "pcStack_240 + -0x75fc" identifier + number_literal) ))))) )) (argument_list "(puVar9,unaff_s6)" ( identifier , identifier ))) ;) (if_statement "if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }" if (parenthesized_expression "(0 < (int)puVar9[6])" ( (binary_expression "0 < (int)puVar9[6]" number_literal < (cast_expression "(int)puVar9[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }" { (expression_statement "puVar21 = (undefined4 *)0x0;" (assignment_expression "puVar21 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);" do (compound_statement "{\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            }" { (expression_statement "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);" (call_expression "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x78bc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x78bc)" * (pointer_expression "*(code **)(pcStack_240 + -0x78bc)" * (cast_expression "(code **)(pcStack_240 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x78bc)" ( (binary_expression "pcStack_240 + -0x78bc" identifier + number_literal) ))))) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_210 = *(undefined8 *)(puVar9 + 0x92);" (assignment_expression "uStack_210 = *(undefined8 *)(puVar9 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar9 + 0x92)" * (cast_expression "(undefined8 *)(puVar9 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x92)" ( (binary_expression "puVar9 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "pfStack_220 = (float *)*puVar9;" (assignment_expression "pfStack_220 = (float *)*puVar9" identifier = (cast_expression "(float *)*puVar9" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "uStack_21c = puVar9[1];" (assignment_expression "uStack_21c = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_208 = puVar9[8];" (assignment_expression "uStack_208 = puVar9[8]" identifier = (subscript_expression "puVar9[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_218 = puVar9[0xaf];" (assignment_expression "uStack_218 = puVar9[0xaf]" identifier = (subscript_expression "puVar9[0xaf]" identifier [ number_literal ])) ;) (expression_statement "param_3 = pfStack_220;" (assignment_expression "param_3 = pfStack_220" identifier = identifier) ;) (expression_statement "dStack_1d8 = in_f22_23;" (assignment_expression "dStack_1d8 = in_f22_23" identifier = identifier) ;) (if_statement "if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }" if (parenthesized_expression "(piVar51 != (int *)0x0)" ( (binary_expression "piVar51 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }" { (expression_statement "iVar4 = puVar9[0xb4];" (assignment_expression "iVar4 = puVar9[0xb4]" identifier = (subscript_expression "puVar9[0xb4]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));" (assignment_expression "param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8))" identifier = (cast_expression "(float *)(piVar51 + *(int *)(iVar4 + 8))" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar51 + *(int *)(iVar4 + 8))" ( (binary_expression "piVar51 + *(int *)(iVar4 + 8)" identifier + (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "dStack_1f8 = (double)*param_3;" (assignment_expression "dStack_1f8 = (double)*param_3" identifier = (cast_expression "(double)*param_3" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];" (assignment_expression "dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x14)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x14)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x14)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) ])))) ;) (expression_statement "dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];" (assignment_expression "dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x20)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x20)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x20)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) ])))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }" { (expression_statement "dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];" (assignment_expression "dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x2c)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x2c)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x2c)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) ])))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }" { (expression_statement "uStack_218 = 4;" (assignment_expression "uStack_218 = 4" identifier = number_literal) ;) (expression_statement "dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];" (assignment_expression "dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x38)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x38)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x38)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) ])))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }" { (expression_statement "dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];" (assignment_expression "dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x44)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x44)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x44)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) ])))) ;) })) })) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (if_statement "if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" if (parenthesized_expression "(((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0))" ( (binary_expression "((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)" (parenthesized_expression "((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10)))" ( (binary_expression "(*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))" (parenthesized_expression "(*(double *)(param_1 + 10) <= dStack_1f8)" ( (binary_expression "*(double *)(param_1 + 10) <= dStack_1f8" (pointer_expression "*(double *)(param_1 + 10)" * (cast_expression "(double *)(param_1 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) <= identifier) )) && (parenthesized_expression "(dStack_1f8 <= *(double *)(unaff_s5 + 10))" ( (binary_expression "dStack_1f8 <= *(double *)(unaff_s5 + 10)" identifier <= (pointer_expression "*(double *)(unaff_s5 + 10)" * (cast_expression "(double *)(unaff_s5 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 10)" ( (binary_expression "unaff_s5 + 10" identifier + number_literal) ))))) ))) )) && (parenthesized_expression "(*(double *)(param_1 + 0xc) <= dStack_1f0)" ( (binary_expression "*(double *)(param_1 + 0xc) <= dStack_1f0" (pointer_expression "*(double *)(param_1 + 0xc)" * (cast_expression "(double *)(param_1 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" { (if_statement "if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" if (parenthesized_expression "((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe)))" ( (binary_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))" (parenthesized_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0)" ( (binary_expression "*(double *)(unaff_s5 + 0xc) < dStack_1f0" (pointer_expression "*(double *)(unaff_s5 + 0xc)" * (cast_expression "(double *)(unaff_s5 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0xc)" ( (binary_expression "unaff_s5 + 0xc" identifier + number_literal) )))) < identifier) )) || (parenthesized_expression "(dStack_1e8 < *(double *)(param_1 + 0xe))" ( (binary_expression "dStack_1e8 < *(double *)(param_1 + 0xe)" identifier < (pointer_expression "*(double *)(param_1 + 0xe)" * (cast_expression "(double *)(param_1 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe)" ( (binary_expression "param_1 + 0xe" identifier + number_literal) ))))) ))) )) (compound_statement "{\n                  uVar10 = 0;\n                }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" else (compound_statement "{\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" { (expression_statement "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));" (assignment_expression "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" identifier = (call_expression "(uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" ( (binary_expression "dStack_1e8 <= *(double *)(unaff_s5 + 0xe)" identifier <= (pointer_expression "*(double *)(unaff_s5 + 0xe)" * (cast_expression "(double *)(unaff_s5 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0xe)" ( (binary_expression "unaff_s5 + 0xe" identifier + number_literal) ))))) )))) ;) }))) })) (if_statement "if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" if (parenthesized_expression "((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0))" ( (binary_expression "(unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s4 != uVar10)" ( (binary_expression "unaff_s4 != uVar10" identifier != identifier) )) && (parenthesized_expression "(*(int *)(puVar9[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)(puVar9[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar9[0xb4] + 0x34)" * (cast_expression "(int *)(puVar9[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9[0xb4] + 0x34)" ( (binary_expression "puVar9[0xb4] + 0x34" (subscript_expression "puVar9[0xb4]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" { (expression_statement "piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);" (assignment_expression "piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0)" (subscript_expression "piVar51[*(int *)(puVar9[0xb4] + 0x38)]" identifier [ (pointer_expression "*(int *)(puVar9[0xb4] + 0x38)" * (cast_expression "(int *)(puVar9[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9[0xb4] + 0x38)" ( (binary_expression "puVar9[0xb4] + 0x38" (subscript_expression "puVar9[0xb4]" identifier [ number_literal ]) + number_literal) )))) ]) = (call_expression "SUB84(in_f20_21,0)" identifier (argument_list "(in_f20_21,0)" ( identifier , number_literal )))) ;) })) (expression_statement "puVar21 = (undefined4 *)((int)puVar21 + 1);" (assignment_expression "puVar21 = (undefined4 *)((int)puVar21 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar21 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 1)" ( (binary_expression "(int)puVar21 + 1" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar51 = piVar51 + puVar9[0xb0];" (assignment_expression "piVar51 = piVar51 + puVar9[0xb0]" identifier = (binary_expression "piVar51 + puVar9[0xb0]" identifier + (subscript_expression "puVar9[0xb0]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((int)puVar21 < (int)puVar9[6])" ( (binary_expression "(int)puVar21 < (int)puVar9[6]" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar9[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" identifier = identifier) ;) (expression_statement "param_2 = puStack_22c;" (assignment_expression "param_2 = puStack_22c" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x73b8))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x73b8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73b8))" ( (pointer_expression "**(code **)(pcStack_240 + -0x73b8)" * (pointer_expression "*(code **)(pcStack_240 + -0x73b8)" * (cast_expression "(code **)(pcStack_240 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x73b8)" ( (binary_expression "pcStack_240 + -0x73b8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar36[7] = 0;\n          }" { (expression_statement "puVar36[7] = 0;" (assignment_expression "puVar36[7] = 0" (subscript_expression "puVar36[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (if_statement "if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" if (parenthesized_expression "(puVar9[0xca] != 0)" ( (binary_expression "puVar9[0xca] != 0" (subscript_expression "puVar9[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" { (expression_statement "piVar51 = (int *)puVar36[8];" (assignment_expression "piVar51 = (int *)puVar36[8]" identifier = (cast_expression "(int *)puVar36[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[8]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(pcStack_240 + -0x75cc))();" (call_expression "(**(code **)(pcStack_240 + -0x75cc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75cc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x75cc)" * (pointer_expression "*(code **)(pcStack_240 + -0x75cc)" * (cast_expression "(code **)(pcStack_240 + -0x75cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x75cc)" ( (binary_expression "pcStack_240 + -0x75cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = piVar51[1];" (assignment_expression "uVar10 = piVar51[1]" identifier = (subscript_expression "piVar51[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar37 = *(code **)(pcStack_240 + -0x7478);" (assignment_expression "pcVar37 = *(code **)(pcStack_240 + -0x7478)" identifier = (pointer_expression "*(code **)(pcStack_240 + -0x7478)" * (cast_expression "(code **)(pcStack_240 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7478)" ( (binary_expression "pcStack_240 + -0x7478" identifier + number_literal) ))))) ;) (expression_statement "piVar51[1] = uVar22;" (assignment_expression "piVar51[1] = uVar22" (subscript_expression "piVar51[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar51 = (uint)(uVar22 < uVar10) + *piVar51;" (assignment_expression "*piVar51 = (uint)(uVar22 < uVar10) + *piVar51" (pointer_expression "*piVar51" * identifier) = (binary_expression "(uint)(uVar22 < uVar10) + *piVar51" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar10)" ( (binary_expression "uVar22 < uVar10" identifier < identifier) ))) + (pointer_expression "*piVar51" * identifier))) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_244 = (undefined *)puVar9[7];" (assignment_expression "puStack_244 = (undefined *)puVar9[7]" identifier = (cast_expression "(undefined *)puVar9[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar9[7]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = ((undefined4 *)puVar36[8])[1];" (assignment_expression "param_4 = ((undefined4 *)puVar36[8])[1]" identifier = (subscript_expression "((undefined4 *)puVar36[8])[1]" (parenthesized_expression "((undefined4 *)puVar36[8])" ( (cast_expression "(undefined4 *)puVar36[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "param_3 = *(float **)puVar36[8];" (assignment_expression "param_3 = *(float **)puVar36[8]" identifier = (pointer_expression "*(float **)puVar36[8]" * (cast_expression "(float **)puVar36[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar36[8]" identifier [ number_literal ])))) ;) (expression_statement "iStack_248 = 0;" (assignment_expression "iStack_248 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = puVar9;" (assignment_expression "puVar6 = puVar9" identifier = identifier) ;) (expression_statement "param_2 = puStack_224;" (assignment_expression "param_2 = puStack_224" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x7bfc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7bfc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7bfc)" * (pointer_expression "*(code **)(pcStack_240 + -0x7bfc)" * (cast_expression "(code **)(pcStack_240 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7bfc)" ( (binary_expression "pcStack_240 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_00123f74;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123f74;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" identifier = (cast_expression "(float *)((int)pfVar30 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar30 + 1)" ( (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfStack_234 != pfVar30)" ( (binary_expression "pfStack_234 != pfVar30" identifier != identifier) )) ;) })) (if_statement "if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }" if (parenthesized_expression "(iStack_1c4 == *piStack_228)" ( (binary_expression "iStack_1c4 == *piStack_228" identifier == (pointer_expression "*piStack_228" * identifier)) )) (compound_statement "{\n    return *piStack_228;\n  }" { (return_statement "return *piStack_228;" return (pointer_expression "*piStack_228" * identifier) ;) })) (expression_statement "pcVar38 = *(code **)(pcVar37 + -0x784c);" (assignment_expression "pcVar38 = *(code **)(pcVar37 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar37 + -0x784c)" * (cast_expression "(code **)(pcVar37 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + -0x784c)" ( (binary_expression "pcVar37 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = FloodfillPaintImage;" (assignment_expression "pcVar39 = FloodfillPaintImage" identifier = identifier) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (expression_statement "piVar34 = *(int **)(pcVar38 + 0x285224);" (assignment_expression "piVar34 = *(int **)(pcVar38 + 0x285224)" identifier = (pointer_expression "*(int **)(pcVar38 + 0x285224)" * (cast_expression "(int **)(pcVar38 + 0x285224)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285224)" ( (binary_expression "pcVar38 + 0x285224" identifier + number_literal) ))))) ;) (expression_statement "iStack_2b4 = *piVar34;" (assignment_expression "iStack_2b4 = *piVar34" identifier = (pointer_expression "*piVar34" * identifier)) ;) (expression_statement "pfStack_2b0 = pfVar30;" (assignment_expression "pfStack_2b0 = pfVar30" identifier = identifier) ;) (expression_statement "piStack_2ac = piVar51;" (assignment_expression "piStack_2ac = piVar51" identifier = identifier) ;) (expression_statement "puStack_2a8 = puVar36;" (assignment_expression "puStack_2a8 = puVar36" identifier = identifier) ;) (expression_statement "puStack_2a4 = param_1;" (assignment_expression "puStack_2a4 = param_1" identifier = identifier) ;) (expression_statement "uStack_2a0 = unaff_s4;" (assignment_expression "uStack_2a0 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_29c = unaff_s5;" (assignment_expression "puStack_29c = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_298 = unaff_s6;" (assignment_expression "ppfStack_298 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_294 = puVar21;" (assignment_expression "puStack_294 = puVar21" identifier = identifier) ;) (expression_statement "puStack_290 = puVar9;" (assignment_expression "puStack_290 = puVar9" identifier = identifier) ;) (expression_statement "pcStack_28c = pcVar39;" (assignment_expression "pcStack_28c = pcVar39" identifier = identifier) ;) (expression_statement "dStack_288 = in_f20_21;" (assignment_expression "dStack_288 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_280 = in_f22_23;" (assignment_expression "dStack_280 = in_f22_23" identifier = identifier) ;) (if_statement "if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;" if (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" ( (binary_expression "puVar6 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001250a8;" goto statement_identifier ;)) (if_statement "if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" if (parenthesized_expression "(puVar6[0xcdb] == -0x54535255)" ( (binary_expression "puVar6[0xcdb] == -0x54535255" (subscript_expression "puVar6[0xcdb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }" { (if_statement "if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" if (parenthesized_expression "(puVar6[0xcd4] != 0)" ( (binary_expression "puVar6[0xcd4] != 0" (subscript_expression "puVar6[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" { (expression_statement "(**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);" (call_expression "(**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2851d4))" ( (pointer_expression "**(code **)(pcVar38 + 0x2851d4)" * (pointer_expression "*(code **)(pcVar38 + 0x2851d4)" * (cast_expression "(code **)(pcVar38 + 0x2851d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2851d4)" ( (binary_expression "pcVar38 + 0x2851d4" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + -0x62ac" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar6 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" if (parenthesized_expression "(param_2 != (undefined *)0x0)" ( (binary_expression "param_2 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" { (if_statement "if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" if (parenthesized_expression "(*(int *)(param_2 + 0x390) == -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x390) == -0x54535255" (pointer_expression "*(int *)(param_2 + 0x390)" * (cast_expression "(int *)(param_2 + 0x390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x390)" ( (binary_expression "param_2 + 0x390" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" { (if_statement "if (param_4 < 0) goto LAB_001240e8;" if (parenthesized_expression "(param_4 < 0)" ( (binary_expression "param_4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if ((int)puVar6[6] <= param_4) goto LAB_001240e8;" if (parenthesized_expression "((int)puVar6[6] <= param_4)" ( (binary_expression "(int)puVar6[6] <= param_4" (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if (iStack_248 < 0) goto LAB_001240e8;" if (parenthesized_expression "(iStack_248 < 0)" ( (binary_expression "iStack_248 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;" if (parenthesized_expression "((int)puVar6[7] <= iStack_248)" ( (binary_expression "(int)puVar6[7] <= iStack_248" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);" (assignment_expression "iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285818))" ( (pointer_expression "**(code **)(pcVar38 + 0x285818)" * (pointer_expression "*(code **)(pcVar38 + 0x285818)" * (cast_expression "(code **)(pcVar38 + 0x285818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285818)" ( (binary_expression "pcVar38 + 0x285818" identifier + number_literal) ))))) )) (argument_list "(puVar6,1,pcVar37)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001240e8;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" if (parenthesized_expression "(puVar6[1] == 0x21)" ( (binary_expression "puVar6[1] == 0x21" (subscript_expression "puVar6[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284d34);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284d34)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284d34)" * (cast_expression "(code **)(pcVar38 + 0x284d34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284d34)" ( (binary_expression "pcVar38 + 0x284d34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" else (compound_statement "{\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284d34);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284d34)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284d34)" * (cast_expression "(code **)(pcVar38 + 0x284d34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284d34)" ( (binary_expression "pcVar38 + 0x284d34" identifier + number_literal) ))))) ;) (if_statement "if (puVar6[1] != 3) goto LAB_001241b0;" if (parenthesized_expression "(puVar6[1] != 3)" ( (binary_expression "puVar6[1] != 3" (subscript_expression "puVar6[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_001241b0;" goto statement_identifier ;)) }))) (expression_statement "(*pcVar39)(puVar6,0x17,pcVar37);" (call_expression "(*pcVar39)(puVar6,0x17,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(puVar6,0x17,pcVar37)" ( identifier , number_literal , identifier ))) ;) (labeled_statement "LAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" statement_identifier : (if_statement "if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" if (parenthesized_expression "((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0))" ( (binary_expression "(puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)" (parenthesized_expression "(puVar6[0xaf] == 0)" ( (binary_expression "puVar6[0xaf] == 0" (subscript_expression "puVar6[0xaf]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(*(int *)(param_2 + 0x50) != 0)" ( (binary_expression "*(int *)(param_2 + 0x50) != 0" (pointer_expression "*(int *)(param_2 + 0x50)" * (cast_expression "(int *)(param_2 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" { (expression_statement "(**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284c6c))" ( (pointer_expression "**(code **)(pcVar38 + 0x284c6c)" * (pointer_expression "*(code **)(pcVar38 + 0x284c6c)" * (cast_expression "(code **)(pcVar38 + 0x284c6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284c6c)" ( (binary_expression "pcVar38 + 0x284c6c" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) )))) , identifier ))) ;) }))) (expression_statement "iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);" (assignment_expression "iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285824))" ( (pointer_expression "**(code **)(pcVar38 + 0x285824)" * (pointer_expression "*(code **)(pcVar38 + 0x285824)" * (cast_expression "(code **)(pcVar38 + 0x285824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285824)" ( (binary_expression "pcVar38 + 0x285824" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,0,1,pcVar37)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001240e8;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(pcVar38 + 0x2848d8);" (assignment_expression "iVar5 = *(int *)(pcVar38 + 0x2848d8)" identifier = (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284e08);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284e08)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284e08)" * (cast_expression "(code **)(pcVar38 + 0x284e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284e08)" ( (binary_expression "pcVar38 + 0x284e08" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar4 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 700)" * (cast_expression "(undefined4 *)(iVar4 + 700)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 700)" ( (binary_expression "iVar4 + 700" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar4 + 4) = 3;" (assignment_expression "*(undefined4 *)(iVar4 + 4) = 3" (pointer_expression "*(undefined4 *)(iVar4 + 4)" * (cast_expression "(undefined4 *)(iVar4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);" (call_expression "(*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37)" ( (binary_expression "iVar5 + 0x2a38" identifier + number_literal) , number_literal , (binary_expression "iVar4 + 0x88" identifier + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284e84))" ( (pointer_expression "**(code **)(pcVar38 + 0x284e84)" * (pointer_expression "*(code **)(pcVar38 + 0x284e84)" * (cast_expression "(code **)(pcVar38 + 0x284e84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284e84)" ( (binary_expression "pcVar38 + 0x284e84" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar37)" ( identifier , identifier ))) ;) (expression_statement "iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);" (assignment_expression "iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20)" identifier = (call_expression "(**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2852c0))" ( (pointer_expression "**(code **)(pcVar38 + 0x2852c0)" * (pointer_expression "*(code **)(pcVar38 + 0x2852c0)" * (cast_expression "(code **)(pcVar38 + 0x2852c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2852c0)" ( (binary_expression "pcVar38 + 0x2852c0" identifier + number_literal) ))))) )) (argument_list "(0x80000,0x20)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(pcVar38 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar38 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f40))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f40)" * (pointer_expression "*(code **)(pcVar38 + 0x284f40)" * (cast_expression "(code **)(pcVar38 + 0x284f40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f40)" ( (binary_expression "pcVar38 + 0x284f40" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);" (call_expression "(**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f14))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f14)" * (pointer_expression "*(code **)(pcVar38 + 0x284f14)" * (cast_expression "(code **)(pcVar38 + 0x284f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f14)" ( (binary_expression "pcVar38 + 0x284f14" identifier + number_literal) ))))) )) (argument_list "(pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6)" ( identifier , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x16f8" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;) })) (expression_statement "pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);" (assignment_expression "pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5)" identifier = (cast_expression "(double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar38 + 0x284f1c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f1c))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f1c)" * (pointer_expression "*(code **)(pcVar38 + 0x284f1c)" * (cast_expression "(code **)(pcVar38 + 0x284f1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f1c)" ( (binary_expression "pcVar38 + 0x284f1c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "iVar50 = puVar6[7];" (assignment_expression "iVar50 = puVar6[7]" identifier = (subscript_expression "puVar6[7]" identifier [ number_literal ])) ;) (expression_statement "pdVar33 = pdVar12;" (assignment_expression "pdVar33 = pdVar12" identifier = identifier) ;) (if_statement "if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }" if (parenthesized_expression "(iStack_248 + 1 < iVar50)" ( (binary_expression "iStack_248 + 1 < iVar50" (binary_expression "iStack_248 + 1" identifier + number_literal) < identifier) )) (compound_statement "{\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }" { (expression_statement "iVar13 = *(int *)(pcVar38 + 0x2848d4);" (assignment_expression "iVar13 = *(int *)(pcVar38 + 0x2848d4)" identifier = (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) ))))) ;) (expression_statement "*pdVar12 = (double)param_4;" (assignment_expression "*pdVar12 = (double)param_4" (pointer_expression "*pdVar12" * identifier) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar12[2] = (double)param_4;" (assignment_expression "pdVar12[2] = (double)param_4" (subscript_expression "pdVar12[2]" identifier [ number_literal ]) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar40 = *(double *)(iVar13 + 0x1438);" (assignment_expression "dVar40 = *(double *)(iVar13 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar13 + 0x1438)" * (cast_expression "(double *)(iVar13 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1438)" ( (binary_expression "iVar13 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "pdVar12[1] = (double)iStack_248;" (assignment_expression "pdVar12[1] = (double)iStack_248" (subscript_expression "pdVar12[1]" identifier [ number_literal ]) = (cast_expression "(double)iStack_248" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar12[3] = dVar40;" (assignment_expression "pdVar12[3] = dVar40" (subscript_expression "pdVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pdVar33 = pdVar12 + 4;" (assignment_expression "pdVar33 = pdVar12 + 4" identifier = (binary_expression "pdVar12 + 4" identifier + number_literal)) ;) })) (expression_statement "pdVar14 = pdVar12 + 0x200000;" (assignment_expression "pdVar14 = pdVar12 + 0x200000" identifier = (binary_expression "pdVar12 + 0x200000" identifier + number_literal)) ;) (if_statement "if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }" if (parenthesized_expression "(pdVar14 <= pdVar33)" ( (binary_expression "pdVar14 <= pdVar33" identifier <= identifier) )) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar27 = 0xd4;" (assignment_expression "uVar27 = 0xd4" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2852a8);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2852a8)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2852a8)" * (cast_expression "(code **)(pcVar38 + 0x2852a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2852a8)" ( (binary_expression "pcVar38 + 0x2852a8" identifier + number_literal) ))))) ;) (expression_statement "pdVar32 = pdVar33;" (assignment_expression "pdVar32 = pdVar33" identifier = identifier) ;) (if_statement "if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }" if (parenthesized_expression "(iStack_248 < iVar50)" ( (binary_expression "iStack_248 < iVar50" identifier < identifier) )) (compound_statement "{\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }" { (expression_statement "iVar50 = *(int *)(pcVar38 + 0x2848d4);" (assignment_expression "iVar50 = *(int *)(pcVar38 + 0x2848d4)" identifier = (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) ))))) ;) (expression_statement "pdVar32 = pdVar33 + 4;" (assignment_expression "pdVar32 = pdVar33 + 4" identifier = (binary_expression "pdVar33 + 4" identifier + number_literal)) ;) (expression_statement "*pdVar33 = (double)param_4;" (assignment_expression "*pdVar33 = (double)param_4" (pointer_expression "*pdVar33" * identifier) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[2] = (double)param_4;" (assignment_expression "pdVar33[2] = (double)param_4" (subscript_expression "pdVar33[2]" identifier [ number_literal ]) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar40 = *(double *)(iVar50 + 0x1a78);" (assignment_expression "dVar40 = *(double *)(iVar50 + 0x1a78)" identifier = (pointer_expression "*(double *)(iVar50 + 0x1a78)" * (cast_expression "(double *)(iVar50 + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 + 0x1a78)" ( (binary_expression "iVar50 + 0x1a78" identifier + number_literal) ))))) ;) (expression_statement "pdVar33[1] = (double)(iStack_248 + 1);" (assignment_expression "pdVar33[1] = (double)(iStack_248 + 1)" (subscript_expression "pdVar33[1]" identifier [ number_literal ]) = (cast_expression "(double)(iStack_248 + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(iStack_248 + 1)" ( (binary_expression "iStack_248 + 1" identifier + number_literal) )))) ;) (expression_statement "pdVar33[3] = dVar40;" (assignment_expression "pdVar33[3] = dVar40" (subscript_expression "pdVar33[3]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(*pcVar39)(puVar6,&uStack_310);" (call_expression "(*pcVar39)(puVar6,&uStack_310)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(puVar6,&uStack_310)" ( identifier , (pointer_expression "&uStack_310" & identifier) ))) ;) (expression_statement "uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);" (assignment_expression "uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285748))" ( (pointer_expression "**(code **)(pcVar38 + 0x285748)" * (pointer_expression "*(code **)(pcVar38 + 0x285748)" * (cast_expression "(code **)(pcVar38 + 0x285748)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285748)" ( (binary_expression "pcVar38 + 0x285748" identifier + number_literal) ))))) )) (argument_list "(puVar6,pcVar37)" ( identifier , identifier )))) ;) (expression_statement "uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);" (assignment_expression "uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ec8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284ec8)" * (pointer_expression "*(code **)(pcVar38 + 0x284ec8)" * (cast_expression "(code **)(pcVar38 + 0x284ec8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284ec8)" ( (binary_expression "pcVar38 + 0x284ec8" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }" if (parenthesized_expression "(pdVar12 < pdVar32)" ( (binary_expression "pdVar12 < pdVar32" identifier < identifier) )) (compound_statement "{\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }" { (expression_statement "dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);" (assignment_expression "dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a58" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar40 = dVar45;" (assignment_expression "dVar40 = dVar45" identifier = identifier) ;) (expression_statement "dVar47 = dVar45;" (assignment_expression "dVar47 = dVar45" identifier = identifier) ;) (do_statement "do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);" do (compound_statement "{\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          }" { (expression_statement "pdVar33 = pdVar32 + -4;" (assignment_expression "pdVar33 = pdVar32 + -4" identifier = (binary_expression "pdVar32 + -4" identifier + number_literal)) ;) (expression_statement "uVar22 = (uint)pdVar32[-4];" (assignment_expression "uVar22 = (uint)pdVar32[-4]" identifier = (cast_expression "(uint)pdVar32[-4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pdVar32[-4]" identifier [ number_literal ]))) ;) (expression_statement "iVar44 = (int)pdVar32[-1];" (assignment_expression "iVar44 = (int)pdVar32[-1]" identifier = (cast_expression "(int)pdVar32[-1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar32[-1]" identifier [ number_literal ]))) ;) (expression_statement "iVar43 = (int)pdVar32[-3];" (assignment_expression "iVar43 = (int)pdVar32[-3]" identifier = (cast_expression "(int)pdVar32[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar32[-3]" identifier [ number_literal ]))) ;) (expression_statement "iVar41 = (int)pdVar32[-2];" (assignment_expression "iVar41 = (int)pdVar32[-2]" identifier = (cast_expression "(int)pdVar32[-2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar32[-2]" identifier [ number_literal ]))) ;) (expression_statement "uVar10 = uVar22 + 1;" (assignment_expression "uVar10 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (expression_statement "iVar50 = iVar43 + iVar44;" (assignment_expression "iVar50 = iVar43 + iVar44" identifier = (binary_expression "iVar43 + iVar44" identifier + identifier)) ;) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar27,0,iVar50,uVar10,1,pcVar37)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar15,0,iVar50,uVar10,1,pcVar37)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar17 = puStack_244;" (assignment_expression "puVar17 = puStack_244" identifier = identifier) ;) (if_statement "if ((iVar13 == 0) || (iVar16 == 0)) break;" if (parenthesized_expression "((iVar13 == 0) || (iVar16 == 0))" ( (binary_expression "(iVar13 == 0) || (iVar16 == 0)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;" (assignment_expression "iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13" identifier = (binary_expression "puVar6[0xb0] * 4 * uVar22 + iVar13" (binary_expression "puVar6[0xb0] * 4 * uVar22" (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal) * identifier) + identifier)) ;) (expression_statement "iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;" (assignment_expression "iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16" identifier = (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar22" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal) * identifier) + identifier)) ;) (expression_statement "uVar35 = uVar22;" (assignment_expression "uVar35 = uVar22" identifier = identifier) ;) (if_statement "if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar22 < 0)" ( (binary_expression "(int)uVar22 < 0" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);" statement_identifier : (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" identifier = (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;)) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" else (compound_statement "{\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (if_statement "if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;" if (parenthesized_expression "(*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)" ( (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) != number_literal) )) (goto_statement "goto LAB_00125018;" goto statement_identifier ;)) (do_statement "do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);" do (compound_statement "{\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              }" { (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" * (cast_expression "(code **)(pcVar38 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284fe8)" ( (binary_expression "pcVar38 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar47;" (assignment_expression "dStack_2c8 = dVar47" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }" { (labeled_statement "LAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" else (compound_statement "{\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" { (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" * (cast_expression "(int *)(iVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x40)" ( (binary_expression "iVar19 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" * (cast_expression "(int *)(iVar19 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x44)" ( (binary_expression "iVar19 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_001245ec;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3)" identifier = (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(&uStack_310,param_3)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }" if (parenthesized_expression "(puVar7 == puVar17)" ( (binary_expression "puVar7 == puVar17" identifier == identifier) )) (compound_statement "{\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "uVar35 = uVar35 - 1;" (assignment_expression "uVar35 = uVar35 - 1" identifier = (binary_expression "uVar35 - 1" identifier - number_literal)) ;) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * -4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * -4" identifier = (binary_expression "iVar13 + puVar6[0xb0] * -4" identifier + (binary_expression "puVar6[0xb0] * -4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier = (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ;) (expression_statement "puVar36 = (undefined4 *)(iVar16 + iVar19);" (assignment_expression "puVar36 = (undefined4 *)(iVar16 + iVar19)" identifier = (cast_expression "(undefined4 *)(iVar16 + iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) ;) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4" identifier = (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * -4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * -4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*puVar36 = (int)uVar48;" (assignment_expression "*puVar36 = (int)uVar48" (pointer_expression "*puVar36" * identifier) = (cast_expression "(int)uVar48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" if (parenthesized_expression "(uVar35 == 0xffffffff)" ( (binary_expression "uVar35 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" { (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2854ec))" ( (pointer_expression "**(code **)(pcVar38 + 0x2854ec)" * (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0012465c;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012465c;" goto statement_identifier ;)) (expression_statement "uVar24 = uVar22 >> 0x1f;" (assignment_expression "uVar24 = uVar22 >> 0x1f" identifier = (binary_expression "uVar22 >> 0x1f" identifier >> number_literal)) ;) (goto_statement "goto LAB_00124dbc;" goto statement_identifier ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(float *)(iVar16 + iVar19) == 0.0)" ( (binary_expression "*(float *)(iVar16 + iVar19) == 0.0" (pointer_expression "*(float *)(iVar16 + iVar19)" * (cast_expression "(float *)(iVar16 + iVar19)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) == number_literal) )) ;) (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" identifier = (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar24 = (int)uVar35 < (int)uVar22 ^ 1;" (assignment_expression "uVar24 = (int)uVar35 < (int)uVar22 ^ 1" identifier = (binary_expression "(int)uVar35 < (int)uVar22 ^ 1" (binary_expression "(int)uVar35 < (int)uVar22" (cast_expression "(int)uVar35" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ^ number_literal)) ;) (if_statement "if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" if (parenthesized_expression "((int)uVar35 < (int)uVar22 != 0)" ( (binary_expression "(int)uVar35 < (int)uVar22 != 0" (binary_expression "(int)uVar35 < (int)uVar22" (cast_expression "(int)uVar35" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )) (compound_statement "{\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" { (labeled_statement "LAB_00124dbc:\n                uStack_390 = uVar35 + 1;" statement_identifier : (expression_statement "uStack_390 = uVar35 + 1;" (assignment_expression "uStack_390 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;)) (if_statement "if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;" if (parenthesized_expression "((int)uVar22 <= (int)uStack_390)" ( (binary_expression "(int)uVar22 <= (int)uStack_390" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00124a40;" goto statement_identifier ;)) (if_statement "if (pdVar14 <= pdVar33) goto LAB_001250d8;" if (parenthesized_expression "(pdVar14 <= pdVar33)" ( (binary_expression "pdVar14 <= pdVar33" identifier <= identifier) )) (goto_statement "goto LAB_001250d8;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }" if (parenthesized_expression "((-1 < iVar43) && (iVar43 < (int)puVar6[7]))" ( (binary_expression "(-1 < iVar43) && (iVar43 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar43)" ( (binary_expression "-1 < iVar43" number_literal < identifier) )) && (parenthesized_expression "(iVar43 < (int)puVar6[7])" ( (binary_expression "iVar43 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }" { (expression_statement "pdVar32[-4] = (double)(int)uStack_390;" (assignment_expression "pdVar32[-4] = (double)(int)uStack_390" (subscript_expression "pdVar32[-4]" identifier [ number_literal ]) = (cast_expression "(double)(int)uStack_390" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pdVar32[-3] = (double)iVar50;" (assignment_expression "pdVar32[-3] = (double)iVar50" (subscript_expression "pdVar32[-3]" identifier [ number_literal ]) = (cast_expression "(double)iVar50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar32[-2] = (double)(int)(uVar22 - 1);" (assignment_expression "pdVar32[-2] = (double)(int)(uVar22 - 1)" (subscript_expression "pdVar32[-2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar22 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar22 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar32[-1] = (double)-iVar44;" (assignment_expression "pdVar32[-1] = (double)-iVar44" (subscript_expression "pdVar32[-1]" identifier [ number_literal ]) = (cast_expression "(double)-iVar44" ( (type_descriptor "double" primitive_type) ) (unary_expression "-iVar44" - identifier))) ;) (expression_statement "pdVar33 = pdVar32;" (assignment_expression "pdVar33 = pdVar32" identifier = identifier) ;) })) (expression_statement "uVar35 = uVar10;" (assignment_expression "uVar35 = uVar10" identifier = identifier) ;) (if_statement "if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }" { (expression_statement "iVar13 = puVar6[6];" (assignment_expression "iVar13 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00124a44;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_0012463c:\n            uVar10 = uVar35 + 1;" statement_identifier : (expression_statement "uVar10 = uVar35 + 1;" (assignment_expression "uVar10 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;)) (if_statement "if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar10 <= iVar41)" ( (binary_expression "(int)uVar10 <= iVar41" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" { (expression_statement "iVar16 = (iVar41 - uVar10) + 1;" (assignment_expression "iVar16 = (iVar41 - uVar10) + 1" identifier = (binary_expression "(iVar41 - uVar10) + 1" (parenthesized_expression "(iVar41 - uVar10)" ( (binary_expression "iVar41 - uVar10" identifier - identifier) )) + number_literal)) ;) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" if (parenthesized_expression "((iVar13 != 0) && (uVar49 = 0, iVar16 != 0))" ( (binary_expression "(iVar13 != 0) && (uVar49 = 0, iVar16 != 0)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar49 = 0, iVar16 != 0)" ( (comma_expression "uVar49 = 0, iVar16 != 0" (assignment_expression "uVar49 = 0" identifier = number_literal) , (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" { (while_statement "while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }" while (parenthesized_expression "(uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49)" ( (comma_expression "uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49" (assignment_expression "uStack_390 = uVar10" identifier = identifier) , (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) == (cast_expression "(float)uVar49" ( (type_descriptor "float" primitive_type) ) identifier))) )) (compound_statement "{\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }" { (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" * (cast_expression "(code **)(pcVar38 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284fe8)" ( (binary_expression "pcVar38 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar45;" (assignment_expression "dStack_2c8 = dVar45" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }" { (labeled_statement "LAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" else (compound_statement "{\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" { (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }" if (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" if (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" * (cast_expression "(int *)(iVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x40)" ( (binary_expression "iVar19 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" * (cast_expression "(int *)(iVar19 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x44)" ( (binary_expression "iVar19 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_001249ec;" goto statement_identifier ;) })) }))) (expression_statement "puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3)" identifier = (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(&uStack_310,param_3)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puStack_244 != puVar17) break;" if (parenthesized_expression "(puStack_244 != puVar17)" ( (binary_expression "puStack_244 != puVar17" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * 4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar13 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (iVar41 < (int)uVar10) goto LAB_0012464c;" if (parenthesized_expression "(iVar41 < (int)uVar10)" ( (binary_expression "iVar41 < (int)uVar10" identifier < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0012464c;" goto statement_identifier ;)) })) (labeled_statement "LAB_00124a40:\n                iVar13 = puVar6[6];" statement_identifier : (expression_statement "iVar13 = puVar6[6];" (assignment_expression "iVar13 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;" statement_identifier : (if_statement "if (iVar13 <= (int)uVar10) goto LAB_00124a50;" if (parenthesized_expression "(iVar13 <= (int)uVar10)" ( (binary_expression "iVar13 <= (int)uVar10" identifier <= (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00124a50;" goto statement_identifier ;))) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" ( identifier , identifier , identifier , (binary_expression "iVar13 - uVar10" identifier - identifier) , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" ( identifier , identifier , identifier , (binary_expression "puVar6[6] - uVar10" (subscript_expression "puVar6[6]" identifier [ number_literal ]) - identifier) , number_literal , identifier )))) ;) (expression_statement "puVar17 = puStack_244;" (assignment_expression "puVar17 = puStack_244" identifier = identifier) ;) (if_statement "if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" if (parenthesized_expression "((iVar13 != 0) && (iVar16 != 0))" ( (binary_expression "(iVar13 != 0) && (iVar16 != 0)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (if_statement "if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" if (parenthesized_expression "(((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0))" ( (binary_expression "((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" (parenthesized_expression "((int)uVar10 < (int)puVar6[6])" ( (binary_expression "(int)uVar10 < (int)puVar6[6]" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ]))) )) && (parenthesized_expression "(uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" ( (comma_expression "uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (assignment_expression "uVar49 = 0" identifier = number_literal) , (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) == number_literal)) ))) )) (compound_statement "{\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" { (do_statement "do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );" do (compound_statement "{\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    }" { (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" * (cast_expression "(code **)(pcVar38 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284fe8)" ( (binary_expression "pcVar38 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar40;" (assignment_expression "dStack_2c8 = dVar40" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }" { (labeled_statement "LAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" else (compound_statement "{\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" { (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }" if (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" if (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" * (cast_expression "(int *)(iVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x40)" ( (binary_expression "iVar19 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" * (cast_expression "(int *)(iVar19 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x44)" ( (binary_expression "iVar19 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_00124d38;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3)" identifier = (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(&uStack_310,param_3)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puVar17 == puVar7) goto LAB_00124d50;" if (parenthesized_expression "(puVar17 == puVar7)" ( (binary_expression "puVar17 == puVar7" identifier == identifier) )) (goto_statement "goto LAB_00124d50;" goto statement_identifier ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar25 = puVar6[6];" (assignment_expression "iVar25 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * 4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar13 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier = (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ;) (expression_statement "puVar36 = (undefined4 *)(iVar16 + iVar19);" (assignment_expression "puVar36 = (undefined4 *)(iVar16 + iVar19)" identifier = (cast_expression "(undefined4 *)(iVar16 + iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) ;) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*puVar36 = (int)uVar46;" (assignment_expression "*puVar36 = (int)uVar46" (pointer_expression "*puVar36" * identifier) = (cast_expression "(int)uVar46" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;" if (parenthesized_expression "((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))" ( (binary_expression "(iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49)" (parenthesized_expression "(iVar25 <= (int)uVar10)" ( (binary_expression "iVar25 <= (int)uVar10" identifier <= (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(*(float *)(iVar16 + iVar19) != (float)uVar49)" ( (binary_expression "*(float *)(iVar16 + iVar19) != (float)uVar49" (pointer_expression "*(float *)(iVar16 + iVar19)" * (cast_expression "(float *)(iVar16 + iVar19)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) != (cast_expression "(float)uVar49" ( (type_descriptor "float" primitive_type) ) identifier)) ))) )) (goto_statement "goto LAB_00124d50;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00124d60;" goto statement_identifier ;) })) })) })) (labeled_statement "LAB_0012464c:\n            pdVar32 = pdVar33;" statement_identifier : (expression_statement "pdVar32 = pdVar33;" (assignment_expression "pdVar32 = pdVar33" identifier = identifier) ;)) }) while (parenthesized_expression "(pdVar12 < pdVar33)" ( (binary_expression "pdVar12 < pdVar33" identifier < identifier) )) ;) })) (labeled_statement "LAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" statement_identifier : (if_statement "if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" if (parenthesized_expression "(0 < (int)puVar6[7])" ( (binary_expression "0 < (int)puVar6[7]" number_literal < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" { (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;) (expression_statement "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);" (assignment_expression "dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x13f8" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);" (assignment_expression "dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" * (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1440" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (do_statement "do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);" do (compound_statement "{\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          }" { (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar15,0,iVar50,puVar6[6],1,pcVar37)" ( identifier , number_literal , identifier , (subscript_expression "puVar6[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar27,0,iVar50,puVar6[6],1,pcVar37)" ( identifier , number_literal , identifier , (subscript_expression "puVar6[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }" if (parenthesized_expression "((iVar13 == 0) || (iVar16 == 0))" ( (binary_expression "(iVar13 == 0) || (iVar16 == 0)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }" { (labeled_statement "LAB_00124f5c:\n              iVar50 = 0;" statement_identifier : (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_00124f60;" goto statement_identifier ;) })) (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "iVar43 = 0;" (assignment_expression "iVar43 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" if (parenthesized_expression "(0 < iVar41)" ( (binary_expression "0 < iVar41" number_literal < identifier) )) (compound_statement "{\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" { (expression_statement "iVar44 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar44 = *(int *)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }" { (if_statement "if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }" if (parenthesized_expression "(*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0)" ( (binary_expression "*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar44 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar44 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar44 + 8) * 4" identifier + (binary_expression "*(int *)(iVar44 + 8) * 4" (pointer_expression "*(int *)(iVar44 + 8)" * (cast_expression "(int *)(iVar44 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 8)" ( (binary_expression "iVar44 + 8" identifier + number_literal) )))) * number_literal)) )))) != number_literal) )) (compound_statement "{\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }" { (expression_statement "iVar44 = *(int *)(param_2 + 0x1a8);" (assignment_expression "iVar44 = *(int *)(param_2 + 0x1a8)" identifier = (pointer_expression "*(int *)(param_2 + 0x1a8)" * (cast_expression "(int *)(param_2 + 0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1a8)" ( (binary_expression "param_2 + 0x1a8" identifier + number_literal) ))))) ;) (if_statement "if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" if (parenthesized_expression "(iVar44 == 0)" ( (binary_expression "iVar44 == 0" identifier == number_literal) )) (compound_statement "{\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }" { (expression_statement "piVar51 = (int *)(param_2 + 0x48);" (assignment_expression "piVar51 = (int *)(param_2 + 0x48)" identifier = (cast_expression "(int *)(param_2 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x48)" ( (binary_expression "param_2 + 0x48" identifier + number_literal) )))) ;) (expression_statement "piVar2 = aiStack_368;" (assignment_expression "piVar2 = aiStack_368" identifier = identifier) ;) (do_statement "do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));" do (compound_statement "{\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    }" { (expression_statement "piVar20 = piVar2;" (assignment_expression "piVar20 = piVar2" identifier = identifier) ;) (expression_statement "piVar18 = piVar51;" (assignment_expression "piVar18 = piVar51" identifier = identifier) ;) (expression_statement "piVar51 = piVar18 + 4;" (assignment_expression "piVar51 = piVar18 + 4" identifier = (binary_expression "piVar18 + 4" identifier + number_literal)) ;) (expression_statement "iVar25 = piVar18[2];" (assignment_expression "iVar25 = piVar18[2]" identifier = (subscript_expression "piVar18[2]" identifier [ number_literal ])) ;) (expression_statement "iVar44 = piVar18[3];" (assignment_expression "iVar44 = piVar18[3]" identifier = (subscript_expression "piVar18[3]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *piVar18;" (assignment_expression "iVar19 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "piVar20[1] = piVar18[1];" (assignment_expression "piVar20[1] = piVar18[1]" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = (subscript_expression "piVar18[1]" identifier [ number_literal ])) ;) (expression_statement "piVar20[2] = iVar25;" (assignment_expression "piVar20[2] = iVar25" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar20 = iVar19;" (assignment_expression "*piVar20 = iVar19" (pointer_expression "*piVar20" * identifier) = identifier) ;) (expression_statement "piVar20[3] = iVar44;" (assignment_expression "piVar20[3] = iVar44" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2 = piVar20 + 4;" (assignment_expression "piVar2 = piVar20 + 4" identifier = (binary_expression "piVar20 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar51 != (int *)(param_2 + 0x98))" ( (binary_expression "piVar51 != (int *)(param_2 + 0x98)" identifier != (cast_expression "(int *)(param_2 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x98)" ( (binary_expression "param_2 + 0x98" identifier + number_literal) )))) )) ;) (expression_statement "iVar44 = *piVar51;" (assignment_expression "iVar44 = *piVar51" identifier = (pointer_expression "*piVar51" * identifier)) ;) (expression_statement "piVar20[5] = piVar18[5];" (assignment_expression "piVar20[5] = piVar18[5]" (subscript_expression "piVar20[5]" identifier [ number_literal ]) = (subscript_expression "piVar18[5]" identifier [ number_literal ])) ;) (expression_statement "piVar20[4] = iVar44;" (assignment_expression "piVar20[4] = iVar44" (subscript_expression "piVar20[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" else (compound_statement "{\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" { (expression_statement "(**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285410))" ( (pointer_expression "**(code **)(pcVar38 + 0x285410)" * (pointer_expression "*(code **)(pcVar38 + 0x285410)" * (cast_expression "(code **)(pcVar38 + 0x285410)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285410)" ( (binary_expression "pcVar38 + 0x285410" identifier + number_literal) ))))) )) (argument_list "(iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37)" ( identifier , number_literal , (binary_expression "iVar43 + *(int *)(iVar44 + 0x298)" identifier + (pointer_expression "*(int *)(iVar44 + 0x298)" * (cast_expression "(int *)(iVar44 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x298)" ( (binary_expression "iVar44 + 0x298" identifier + number_literal) ))))) , (binary_expression "iVar50 + *(int *)(iVar44 + 0x29c)" identifier + (pointer_expression "*(int *)(iVar44 + 0x29c)" * (cast_expression "(int *)(iVar44 + 0x29c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x29c)" ( (binary_expression "iVar44 + 0x29c" identifier + number_literal) ))))) , identifier , identifier ))) ;) (if_statement "if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }" if (parenthesized_expression "(dVar40 <= ABS(*(double *)(param_2 + 0x398)))" ( (binary_expression "dVar40 <= ABS(*(double *)(param_2 + 0x398))" identifier <= (call_expression "ABS(*(double *)(param_2 + 0x398))" identifier (argument_list "(*(double *)(param_2 + 0x398))" ( (pointer_expression "*(double *)(param_2 + 0x398)" * (cast_expression "(double *)(param_2 + 0x398)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x398)" ( (binary_expression "param_2 + 0x398" identifier + number_literal) )))) )))) )) (compound_statement "{\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }" { (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;" (assignment_expression "dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47" identifier = (binary_expression "dStack_320 * *(double *)(param_2 + 0x398) * dVar47" (binary_expression "dStack_320 * *(double *)(param_2 + 0x398)" identifier * (pointer_expression "*(double *)(param_2 + 0x398)" * (cast_expression "(double *)(param_2 + 0x398)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x398)" ( (binary_expression "param_2 + 0x398" identifier + number_literal) ))))) * identifier)) ;) }) (else_clause "else {\n                      iVar41 = puVar6[6];\n                    }" else (compound_statement "{\n                      iVar41 = puVar6[6];\n                    }" { (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) }))) }))) (expression_statement "iVar44 = puVar6[0xb4];" (assignment_expression "iVar44 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar25 = *(int *)(iVar44 + 0x14);" (assignment_expression "iVar25 = *(int *)(iVar44 + 0x14)" identifier = (pointer_expression "*(int *)(iVar44 + 0x14)" * (cast_expression "(int *)(iVar44 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x14)" ( (binary_expression "iVar44 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(iVar44 + 0x20);" (assignment_expression "iVar19 = *(int *)(iVar44 + 0x20)" identifier = (pointer_expression "*(int *)(iVar44 + 0x20)" * (cast_expression "(int *)(iVar44 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x20)" ( (binary_expression "iVar44 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = *(int *)(iVar44 + 0x28);" (assignment_expression "iVar26 = *(int *)(iVar44 + 0x28)" identifier = (pointer_expression "*(int *)(iVar44 + 0x28)" * (cast_expression "(int *)(iVar44 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x28)" ( (binary_expression "iVar44 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(iVar44 + 8) * 4" identifier + (binary_expression "*(int *)(iVar44 + 8) * 4" (pointer_expression "*(int *)(iVar44 + 8)" * (cast_expression "(int *)(iVar44 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 8)" ( (binary_expression "iVar44 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dStack_340" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;" (assignment_expression "*(float *)(iVar16 + iVar25 * 4) = (float)dStack_338" (pointer_expression "*(float *)(iVar16 + iVar25 * 4)" * (cast_expression "(float *)(iVar16 + iVar25 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar25 * 4)" ( (binary_expression "iVar16 + iVar25 * 4" identifier + (binary_expression "iVar25 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dStack_338" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;" (assignment_expression "*(float *)(iVar16 + iVar19 * 4) = (float)dStack_330" (pointer_expression "*(float *)(iVar16 + iVar19 * 4)" * (cast_expression "(float *)(iVar16 + iVar19 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19 * 4)" ( (binary_expression "iVar16 + iVar19 * 4" identifier + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dStack_330" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }" { (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" ( (binary_expression "iVar16 + *(int *)(iVar44 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar44 + 0x2c) * 4" (pointer_expression "*(int *)(iVar44 + 0x2c)" * (cast_expression "(int *)(iVar44 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x2c)" ( (binary_expression "iVar44 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dStack_328" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (if_statement "if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }" if (parenthesized_expression "(*(int *)(iVar44 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar44 + 0x34) != 0" (pointer_expression "*(int *)(iVar44 + 0x34)" * (cast_expression "(int *)(iVar44 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x34)" ( (binary_expression "iVar44 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }" { (expression_statement "fVar42 = (float)uVar46;" (assignment_expression "fVar42 = (float)uVar46" identifier = (cast_expression "(float)uVar46" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }" if (parenthesized_expression "(aiStack_368[2] != 0)" ( (binary_expression "aiStack_368[2] != 0" (subscript_expression "aiStack_368[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      fVar42 = (float)dStack_320;\n                    }" { (expression_statement "fVar42 = (float)dStack_320;" (assignment_expression "fVar42 = (float)dStack_320" identifier = (cast_expression "(float)dStack_320" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 0x38) * 4)" ( (binary_expression "iVar16 + *(int *)(iVar44 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar44 + 0x38) * 4" (pointer_expression "*(int *)(iVar44 + 0x38)" * (cast_expression "(int *)(iVar44 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x38)" ( (binary_expression "iVar44 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) })) (expression_statement "iVar43 = iVar43 + 1;" (assignment_expression "iVar43 = iVar43 + 1" identifier = (binary_expression "iVar43 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar13 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar16 = iVar16 + puVar6[0xb0] * 4;" (assignment_expression "iVar16 = iVar16 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar16 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (if_statement "if (iVar41 <= iVar43) break;" if (parenthesized_expression "(iVar41 <= iVar43)" ( (binary_expression "iVar41 <= iVar43" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar44 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar44 = *(int *)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" identifier = (binary_expression "iVar50 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2854ec))" ( (pointer_expression "**(code **)(pcVar38 + 0x2854ec)" * (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) )) (argument_list "(uVar27,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) goto LAB_00124f5c;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00124f5c;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar50 < (int)puVar6[7])" ( (binary_expression "iVar50 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) )) ;) }))) (expression_statement "iVar50 = 1;" (assignment_expression "iVar50 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);" statement_identifier : (expression_statement "(**(code **)(pcVar38 + 0x284ee8))(uVar15);" (call_expression "(**(code **)(pcVar38 + 0x284ee8))(uVar15)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ee8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284ee8)" * (pointer_expression "*(code **)(pcVar38 + 0x284ee8)" * (cast_expression "(code **)(pcVar38 + 0x284ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284ee8)" ( (binary_expression "pcVar38 + 0x284ee8" identifier + number_literal) ))))) )) (argument_list "(uVar15)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcVar38 + 0x284ee8))(uVar27);" (call_expression "(**(code **)(pcVar38 + 0x284ee8))(uVar27)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ee8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284ee8)" * (pointer_expression "*(code **)(pcVar38 + 0x284ee8)" * (cast_expression "(code **)(pcVar38 + 0x284ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284ee8)" ( (binary_expression "pcVar38 + 0x284ee8" identifier + number_literal) ))))) )) (argument_list "(uVar27)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x28538c))(iVar5);" (call_expression "(**(code **)(pcVar38 + 0x28538c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar38 + 0x28538c))" ( (pointer_expression "**(code **)(pcVar38 + 0x28538c)" * (pointer_expression "*(code **)(pcVar38 + 0x28538c)" * (cast_expression "(code **)(pcVar38 + 0x28538c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x28538c)" ( (binary_expression "pcVar38 + 0x28538c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar38 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f40))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f40)" * (pointer_expression "*(code **)(pcVar38 + 0x284f40)" * (cast_expression "(code **)(pcVar38 + 0x284f40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f40)" ( (binary_expression "pcVar38 + 0x284f40" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;) })) (goto_statement "goto LAB_00125064;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" else (compound_statement "{\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" { (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848dc) + -0x3784" (pointer_expression "*(int *)(pcVar38 + 0x2848dc)" * (cast_expression "(int *)(pcVar38 + 0x2848dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848dc)" ( (binary_expression "pcVar38 + 0x2848dc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);" statement_identifier : (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1158" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1114" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" identifier = identifier) ;) (labeled_statement "LAB_001250a8:\n  puVar6 = puVar21;" statement_identifier : (expression_statement "puVar6 = puVar21;" (assignment_expression "puVar6 = puVar21" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0xdd0" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) do (compound_statement "{\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}" { (expression_statement "(**(code **)(pcVar38 + 0x285058))();" (call_expression "(**(code **)(pcVar38 + 0x285058))()" (parenthesized_expression "(**(code **)(pcVar38 + 0x285058))" ( (pointer_expression "**(code **)(pcVar38 + 0x285058)" * (pointer_expression "*(code **)(pcVar38 + 0x285058)" * (cast_expression "(code **)(pcVar38 + 0x285058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285058)" ( (binary_expression "pcVar38 + 0x285058" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001250d8:\n    puVar6 = puVar6 + 0xd0;" statement_identifier : (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;)) (expression_statement "uVar27 = 0x107;" (assignment_expression "uVar27 = 0x107" identifier = number_literal) ;) (labeled_statement "LAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);" statement_identifier : (expression_statement "(**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);" (call_expression "(**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f14))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f14)" * (pointer_expression "*(code **)(pcVar38 + 0x284f14)" * (cast_expression "(code **)(pcVar38 + 0x284f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f14)" ( (binary_expression "pcVar38 + 0x284f14" identifier + number_literal) ))))) )) (argument_list "(pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6)" ( identifier , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2a40" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (labeled_statement "LAB_001240e8:\n    iVar50 = 0;" statement_identifier : (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_001240ec:\n  } while (iStack_2b4 != *piVar34);" statement_identifier : (ERROR "}" }) (while_statement "while (iStack_2b4 != *piVar34);" while (parenthesized_expression "(iStack_2b4 != *piVar34)" ( (binary_expression "iStack_2b4 != *piVar34" identifier != (pointer_expression "*piVar34" * identifier)) )) (expression_statement ";" ;))) (return_statement "return iVar50;" return identifier ;) (labeled_statement "LAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);" statement_identifier : (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" identifier = (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;)) (if_statement "if (iVar13 == 0) goto LAB_0012464c;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012464c;" goto statement_identifier ;)) (labeled_statement "LAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" statement_identifier : (if_statement "if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" if (parenthesized_expression "(pdVar14 <= pdVar33)" ( (binary_expression "pdVar14 <= pdVar33" identifier <= identifier) )) (compound_statement "{\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar27 = 0x125;" (assignment_expression "uVar27 = 0x125" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) }))) (expression_statement "iVar13 = iVar41 + 1;" (assignment_expression "iVar13 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "uVar35 = uVar10;" (assignment_expression "uVar35 = uVar10" identifier = identifier) ;) (if_statement "if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" if (parenthesized_expression "((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50))" ( (binary_expression "(iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)" (parenthesized_expression "(iVar44 + iVar50 < 0)" ( (binary_expression "iVar44 + iVar50 < 0" (binary_expression "iVar44 + iVar50" identifier + identifier) < number_literal) )) || (parenthesized_expression "((int)puVar6[7] <= iVar44 + iVar50)" ( (binary_expression "(int)puVar6[7] <= iVar44 + iVar50" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) <= (binary_expression "iVar44 + iVar50" identifier + identifier)) ))) )) (compound_statement "{\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }" { (if_statement "if ((int)uVar10 <= iVar13) goto LAB_0012463c;" if (parenthesized_expression "((int)uVar10 <= iVar13)" ( (binary_expression "(int)uVar10 <= iVar13" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;)) }) (else_clause "else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" else (compound_statement "{\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" { (expression_statement "pdVar32 = pdVar33 + 4;" (assignment_expression "pdVar32 = pdVar33 + 4" identifier = (binary_expression "pdVar33 + 4" identifier + number_literal)) ;) (expression_statement "*pdVar33 = (double)(int)uStack_390;" (assignment_expression "*pdVar33 = (double)(int)uStack_390" (pointer_expression "*pdVar33" * identifier) = (cast_expression "(double)(int)uStack_390" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pdVar33[3] = (double)iVar44;" (assignment_expression "pdVar33[3] = (double)iVar44" (subscript_expression "pdVar33[3]" identifier [ number_literal ]) = (cast_expression "(double)iVar44" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar33[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar33[2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar10 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar33[1] = (double)iVar50;" (assignment_expression "pdVar33[1] = (double)iVar50" (subscript_expression "pdVar33[1]" identifier [ number_literal ]) = (cast_expression "(double)iVar50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33 = pdVar32;" (assignment_expression "pdVar33 = pdVar32" identifier = identifier) ;) (if_statement "if ((int)uVar10 <= iVar13) goto LAB_0012463c;" if (parenthesized_expression "((int)uVar10 <= iVar13)" ( (binary_expression "(int)uVar10 <= iVar13" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;)) (if_statement "if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }" if (parenthesized_expression "(pdVar14 <= pdVar32)" ( (binary_expression "pdVar14 <= pdVar32" identifier <= identifier) )) (compound_statement "{\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar27 = 0x127;" (assignment_expression "uVar27 = 0x127" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) })) }))) (if_statement "if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }" if (parenthesized_expression "((-1 < iVar43) && (iVar43 < (int)puVar6[7]))" ( (binary_expression "(-1 < iVar43) && (iVar43 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar43)" ( (binary_expression "-1 < iVar43" number_literal < identifier) )) && (parenthesized_expression "(iVar43 < (int)puVar6[7])" ( (binary_expression "iVar43 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }" { (expression_statement "*pdVar33 = (double)iVar13;" (assignment_expression "*pdVar33 = (double)iVar13" (pointer_expression "*pdVar33" * identifier) = (cast_expression "(double)iVar13" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar33[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar33[2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar10 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar33[1] = (double)iVar50;" (assignment_expression "pdVar33[1] = (double)iVar50" (subscript_expression "pdVar33[1]" identifier [ number_literal ]) = (cast_expression "(double)iVar50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[3] = (double)-iVar44;" (assignment_expression "pdVar33[3] = (double)-iVar44" (subscript_expression "pdVar33[3]" identifier [ number_literal ]) = (cast_expression "(double)-iVar44" ( (type_descriptor "double" primitive_type) ) (unary_expression "-iVar44" - identifier))) ;) (expression_statement "pdVar33 = pdVar33 + 4;" (assignment_expression "pdVar33 = pdVar33 + 4" identifier = (binary_expression "pdVar33 + 4" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n/* DWARF original prototype: void TransparentPaintImage._omp_fn.2(anon_struct_36_9_094e039a *\n   param_0) */\n\nvoid __thiscall TransparentPaintImage__omp_fn_2(void *this)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  float **ppfVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  void *pvVar12;\n  double *pdVar13;\n  int iVar14;\n  double *pdVar15;\n  undefined4 uVar16;\n  int iVar17;\n  undefined *puVar18;\n  int *piVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  uint uVar23;\n  float **ppfVar24;\n  uint uVar25;\n  int iVar26;\n  undefined *in_a1;\n  float *in_a2;\n  int in_a3;\n  int iVar27;\n  undefined4 uVar28;\n  float *pfVar29;\n  float *pfVar30;\n  int *unaff_s0;\n  float *pfVar31;\n  float *pfVar32;\n  double *pdVar33;\n  double *pdVar34;\n  uint unaff_s4;\n  int *piVar35;\n  undefined4 *unaff_s5;\n  float **unaff_s6;\n  uint uVar36;\n  int unaff_s7;\n  undefined4 *puVar37;\n  code *pcVar38;\n  code *pcVar39;\n  code *pcVar40;\n  double dVar41;\n  int iVar42;\n  float fVar43;\n  int iVar44;\n  int iVar45;\n  double in_f20_21;\n  double dVar46;\n  ulonglong uVar47;\n  double in_f22_23;\n  double dVar48;\n  ulonglong uVar49;\n  undefined8 uVar50;\n  int iVar51;\n  int *piVar52;\n  uint uStack_390;\n  int aiStack_368 [10];\n  double dStack_340;\n  double dStack_338;\n  double dStack_330;\n  double dStack_328;\n  double dStack_320;\n  undefined4 uStack_310;\n  undefined4 uStack_30c;\n  undefined4 uStack_308;\n  undefined8 uStack_300;\n  undefined4 uStack_2f8;\n  double dStack_2e8;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  int iStack_2b4;\n  float *pfStack_2b0;\n  int *piStack_2ac;\n  undefined4 *puStack_2a8;\n  void *pvStack_2a4;\n  uint uStack_2a0;\n  undefined4 *puStack_29c;\n  float **ppfStack_298;\n  undefined4 *puStack_294;\n  undefined4 *puStack_290;\n  code *pcStack_28c;\n  double dStack_288;\n  double dStack_280;\n  int iStack_248;\n  undefined *puStack_244;\n  code *pcStack_240;\n  float *pfStack_234;\n  undefined4 *puStack_230;\n  undefined *puStack_22c;\n  int *piStack_228;\n  undefined *puStack_224;\n  float *pfStack_220;\n  undefined4 uStack_21c;\n  undefined4 uStack_218;\n  undefined8 uStack_210;\n  undefined4 uStack_208;\n  double dStack_1f8;\n  double dStack_1f0;\n  double dStack_1e8;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  int iStack_1c4;\n  int *piStack_1c0;\n  float *pfStack_1bc;\n  float *pfStack_1b8;\n  void *pvStack_1b4;\n  uint uStack_1b0;\n  undefined4 *puStack_1ac;\n  float **ppfStack_1a8;\n  undefined4 *puStack_1a4;\n  undefined4 *puStack_1a0;\n  code *pcStack_19c;\n  double dStack_198;\n  double dStack_190;\n  undefined4 uStack_178;\n  undefined *puStack_174;\n  undefined *puStack_170;\n  undefined *puStack_164;\n  int *piStack_160;\n  undefined *puStack_15c;\n  float *apfStack_158 [4];\n  undefined8 uStack_148;\n  undefined4 uStack_140;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_118;\n  double dStack_110;\n  double dStack_108;\n  int iStack_fc;\n  int *piStack_f8;\n  float *pfStack_f4;\n  float *pfStack_f0;\n  void *pvStack_ec;\n  uint uStack_e8;\n  undefined4 *puStack_e4;\n  float **ppfStack_e0;\n  int iStack_dc;\n  undefined4 *puStack_d8;\n  code *pcStack_d4;\n  double dStack_d0;\n  undefined4 local_b8;\n  undefined *local_b4;\n  float *local_98 [4];\n  undefined8 local_88;\n  undefined4 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  int local_3c;\n  \n  puVar18 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n                    /* WARNING: Load size is inaccurate */\n  puVar37 = *this;\n  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar51 = (int)puVar37[7] / iVar4;\n  iVar4 = (int)puVar37[7] % iVar4;\n  puVar22 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar22 != (undefined4 *)0x0) {\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }\n  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);\n  pfVar32 = (float *)(iVar51 + (int)pfVar31);\n  if ((int)pfVar31 < (int)pfVar32) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))\n    ;\n    unaff_s5 = *(undefined4 **)((int)this + 0xc);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = *(undefined4 **)((int)this + 0x14);\n    unaff_s4 = *(uint *)((int)this + 4);\n    puVar7 = *(undefined **)((int)this + 0x10);\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }\n  if (local_3c == *(int *)puVar18) {\n    return;\n  }\n  pcVar38 = OpaquePaintImage__omp_fn_1;\n  puVar18 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_170 = puVar18 + 0x28d118;\n  piStack_160 = *(int **)(puVar18 + 0x285a98);\n  iStack_fc = *piStack_160;\n  puVar6 = (undefined4 *)*puVar22;\n  piStack_f8 = unaff_s0;\n  pfStack_f4 = pfVar31;\n  pfStack_f0 = pfVar32;\n  pvStack_ec = this;\n  uStack_e8 = unaff_s4;\n  puStack_e4 = unaff_s5;\n  ppfStack_e0 = unaff_s6;\n  iStack_dc = unaff_s7;\n  puStack_d8 = puVar37;\n  pcStack_d4 = pcVar38;\n  dStack_d0 = in_f20_21;\n  iVar4 = (**(code **)(puVar18 + 0x286174))();\n  iVar5 = (**(code **)(puStack_170 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar51 = (int)puVar6[7] / iVar4;\n  iVar4 = (int)puVar6[7] % iVar4;\n  puVar37 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar37 != (undefined4 *)0x0) {\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }\n  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);\n  pfVar32 = (float *)(iVar51 + (int)pfVar31);\n  puVar18 = puStack_170;\n  if ((int)pfVar31 < (int)pfVar32) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar22[3];\n    this = (void *)puVar22[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar22[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar22[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }\n  if (iStack_fc == *piStack_160) {\n    return;\n  }\n  pcVar38 = *(code **)(puVar18 + -0x784c);\n  pcVar39 = TransparentPaintImageChroma__omp_fn_3;\n  (*pcVar38)();\n  pcStack_240 = pcVar38 + 0x28cc9c;\n  piStack_228 = *(int **)(pcVar38 + 0x28561c);\n  iStack_1c4 = *piStack_228;\n  puVar9 = (undefined4 *)*puVar37;\n  piStack_1c0 = unaff_s0;\n  pfStack_1bc = pfVar31;\n  pfStack_1b8 = pfVar32;\n  pvStack_1b4 = this;\n  uStack_1b0 = unaff_s4;\n  puStack_1ac = unaff_s5;\n  ppfStack_1a8 = unaff_s6;\n  puStack_1a4 = puVar22;\n  puStack_1a0 = puVar6;\n  pcStack_19c = pcVar39;\n  dStack_198 = in_f20_21;\n  dStack_190 = in_f22_23;\n  iVar4 = (**(code **)(pcVar38 + 0x285cf8))();\n  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  piVar52 = (int *)((int)puVar9[7] / iVar4);\n  iVar4 = (int)puVar9[7] % iVar4;\n  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar6 != (undefined4 *)0x0) {\n    piVar52 = (int *)((int)piVar52 + 1);\n    iVar4 = 0;\n  }\n  pfVar31 = (float *)((int)piVar52 * iVar5 + iVar4);\n  pfStack_234 = (float *)((int)piVar52 + (int)pfVar31);\n  pcVar38 = pcStack_240;\n  if ((int)pfVar31 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3]);\n    unaff_s4 = puVar37[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar37[6];\n    unaff_s5 = (undefined4 *)puVar37[2];\n    this = (void *)puVar37[1];\n    puStack_22c = (undefined *)puVar37[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar37[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfStack_234 != pfVar31);\n  }\n  if (iStack_1c4 == *piStack_228) {\n    return;\n  }\n  pcVar39 = *(code **)(pcVar38 + -0x784c);\n  pcVar40 = FloodfillPaintImage;\n  (*pcVar39)();\n  pcVar38 = pcStack_240;\n  piVar35 = *(int **)(pcVar39 + 0x285224);\n  iStack_2b4 = *piVar35;\n  pfStack_2b0 = pfVar31;\n  piStack_2ac = piVar52;\n  puStack_2a8 = puVar37;\n  pvStack_2a4 = this;\n  uStack_2a0 = unaff_s4;\n  puStack_29c = unaff_s5;\n  ppfStack_298 = unaff_s6;\n  puStack_294 = puVar22;\n  puStack_290 = puVar9;\n  pcStack_28c = pcVar40;\n  dStack_288 = in_f20_21;\n  dStack_280 = in_f22_23;\n  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;\n  if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (in_a1 != (undefined *)0x0) {\n      if (*(int *)(in_a1 + 0x390) == -0x54535255) {\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);\n  }\n  (**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0x1114,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\n  puVar22 = puVar6;\nLAB_001250a8:\n  puVar6 = puVar22;\n  (**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0xdd0,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\n  do {\n    (**(code **)(pcVar39 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar39 + 0x284f14))\n              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar35);\n  return;\nLAB_00124d50:\n  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00124d60:\n  iVar14 = (*pcVar40)(uVar16,pcVar38);\n  if (iVar14 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar15 <= pdVar34) {\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar14 = iVar42 + 1;\n  uVar36 = uVar10;\n  if ((iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51)) {\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n  }\n  else {\n    pdVar33 = pdVar34 + 4;\n    *pdVar34 = (double)(int)uStack_390;\n    pdVar34[3] = (double)iVar45;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34 = pdVar33;\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n    if (pdVar15 <= pdVar33) {\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n    *pdVar34 = (double)iVar14;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34[3] = (double)-iVar45;\n    pdVar34 = pdVar34 + 4;\n  }\n  goto LAB_0012463c;\n}\n\n" comment comment comment comment comment comment comment (ERROR "void __thiscall TransparentPaintImage__omp_fn_2(void *this)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  float **ppfVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  void *pvVar12;\n  double *pdVar13;\n  int iVar14;\n  double *pdVar15;\n  undefined4 uVar16;\n  int iVar17;\n  undefined *puVar18;\n  int *piVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  uint uVar23;\n  float **ppfVar24;\n  uint uVar25;\n  int iVar26;\n  undefined *in_a1;\n  float *in_a2;\n  int in_a3;\n  int iVar27;\n  undefined4 uVar28;\n  float *pfVar29;\n  float *pfVar30;\n  int *unaff_s0;\n  float *pfVar31;\n  float *pfVar32;\n  double *pdVar33;\n  double *pdVar34;\n  uint unaff_s4;\n  int *piVar35;\n  undefined4 *unaff_s5;\n  float **unaff_s6;\n  uint uVar36;\n  int unaff_s7;\n  undefined4 *puVar37;\n  code *pcVar38;\n  code *pcVar39;\n  code *pcVar40;\n  double dVar41;\n  int iVar42;\n  float fVar43;\n  int iVar44;\n  int iVar45;\n  double in_f20_21;\n  double dVar46;\n  ulonglong uVar47;\n  double in_f22_23;\n  double dVar48;\n  ulonglong uVar49;\n  undefined8 uVar50;\n  int iVar51;\n  int *piVar52;\n  uint uStack_390;\n  int aiStack_368 [10];\n  double dStack_340;\n  double dStack_338;\n  double dStack_330;\n  double dStack_328;\n  double dStack_320;\n  undefined4 uStack_310;\n  undefined4 uStack_30c;\n  undefined4 uStack_308;\n  undefined8 uStack_300;\n  undefined4 uStack_2f8;\n  double dStack_2e8;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  int iStack_2b4;\n  float *pfStack_2b0;\n  int *piStack_2ac;\n  undefined4 *puStack_2a8;\n  void *pvStack_2a4;\n  uint uStack_2a0;\n  undefined4 *puStack_29c;\n  float **ppfStack_298;\n  undefined4 *puStack_294;\n  undefined4 *puStack_290;\n  code *pcStack_28c;\n  double dStack_288;\n  double dStack_280;\n  int iStack_248;\n  undefined *puStack_244;\n  code *pcStack_240;\n  float *pfStack_234;\n  undefined4 *puStack_230;\n  undefined *puStack_22c;\n  int *piStack_228;\n  undefined *puStack_224;\n  float *pfStack_220;\n  undefined4 uStack_21c;\n  undefined4 uStack_218;\n  undefined8 uStack_210;\n  undefined4 uStack_208;\n  double dStack_1f8;\n  double dStack_1f0;\n  double dStack_1e8;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  int iStack_1c4;\n  int *piStack_1c0;\n  float *pfStack_1bc;\n  float *pfStack_1b8;\n  void *pvStack_1b4;\n  uint uStack_1b0;\n  undefined4 *puStack_1ac;\n  float **ppfStack_1a8;\n  undefined4 *puStack_1a4;\n  undefined4 *puStack_1a0;\n  code *pcStack_19c;\n  double dStack_198;\n  double dStack_190;\n  undefined4 uStack_178;\n  undefined *puStack_174;\n  undefined *puStack_170;\n  undefined *puStack_164;\n  int *piStack_160;\n  undefined *puStack_15c;\n  float *apfStack_158 [4];\n  undefined8 uStack_148;\n  undefined4 uStack_140;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_118;\n  double dStack_110;\n  double dStack_108;\n  int iStack_fc;\n  int *piStack_f8;\n  float *pfStack_f4;\n  float *pfStack_f0;\n  void *pvStack_ec;\n  uint uStack_e8;\n  undefined4 *puStack_e4;\n  float **ppfStack_e0;\n  int iStack_dc;\n  undefined4 *puStack_d8;\n  code *pcStack_d4;\n  double dStack_d0;\n  undefined4 local_b8;\n  undefined *local_b4;\n  float *local_98 [4];\n  undefined8 local_88;\n  undefined4 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  int local_3c;\n  \n  puVar18 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n                    /* WARNING: Load size is inaccurate */\n  puVar37 = *this;\n  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar51 = (int)puVar37[7] / iVar4;\n  iVar4 = (int)puVar37[7] % iVar4;\n  puVar22 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar22 != (undefined4 *)0x0) {\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }\n  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);\n  pfVar32 = (float *)(iVar51 + (int)pfVar31);\n  if ((int)pfVar31 < (int)pfVar32) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))\n    ;\n    unaff_s5 = *(undefined4 **)((int)this + 0xc);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = *(undefined4 **)((int)this + 0x14);\n    unaff_s4 = *(uint *)((int)this + 4);\n    puVar7 = *(undefined **)((int)this + 0x10);\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }\n  if (local_3c == *(int *)puVar18) {\n    return;\n  }\n  pcVar38 = OpaquePaintImage__omp_fn_1;\n  puVar18 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_170 = puVar18 + 0x28d118;\n  piStack_160 = *(int **)(puVar18 + 0x285a98);\n  iStack_fc = *piStack_160;\n  puVar6 = (undefined4 *)*puVar22;\n  piStack_f8 = unaff_s0;\n  pfStack_f4 = pfVar31;\n  pfStack_f0 = pfVar32;\n  pvStack_ec = this;\n  uStack_e8 = unaff_s4;\n  puStack_e4 = unaff_s5;\n  ppfStack_e0 = unaff_s6;\n  iStack_dc = unaff_s7;\n  puStack_d8 = puVar37;\n  pcStack_d4 = pcVar38;\n  dStack_d0 = in_f20_21;\n  iVar4 = (**(code **)(puVar18 + 0x286174))();\n  iVar5 = (**(code **)(puStack_170 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar51 = (int)puVar6[7] / iVar4;\n  iVar4 = (int)puVar6[7] % iVar4;\n  puVar37 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar37 != (undefined4 *)0x0) {\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }\n  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);\n  pfVar32 = (float *)(iVar51 + (int)pfVar31);\n  puVar18 = puStack_170;\n  if ((int)pfVar31 < (int)pfVar32) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar22[3];\n    this = (void *)puVar22[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar22[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar22[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }\n  if (iStack_fc == *piStack_160) {\n    return;\n  }\n  pcVar38 = *(code **)(puVar18 + -0x784c);\n  pcVar39 = TransparentPaintImageChroma__omp_fn_3;\n  (*pcVar38)();\n  pcStack_240 = pcVar38 + 0x28cc9c;\n  piStack_228 = *(int **)(pcVar38 + 0x28561c);\n  iStack_1c4 = *piStack_228;\n  puVar9 = (undefined4 *)*puVar37;\n  piStack_1c0 = unaff_s0;\n  pfStack_1bc = pfVar31;\n  pfStack_1b8 = pfVar32;\n  pvStack_1b4 = this;\n  uStack_1b0 = unaff_s4;\n  puStack_1ac = unaff_s5;\n  ppfStack_1a8 = unaff_s6;\n  puStack_1a4 = puVar22;\n  puStack_1a0 = puVar6;\n  pcStack_19c = pcVar39;\n  dStack_198 = in_f20_21;\n  dStack_190 = in_f22_23;\n  iVar4 = (**(code **)(pcVar38 + 0x285cf8))();\n  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  piVar52 = (int *)((int)puVar9[7] / iVar4);\n  iVar4 = (int)puVar9[7] % iVar4;\n  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar6 != (undefined4 *)0x0) {\n    piVar52 = (int *)((int)piVar52 + 1);\n    iVar4 = 0;\n  }\n  pfVar31 = (float *)((int)piVar52 * iVar5 + iVar4);\n  pfStack_234 = (float *)((int)piVar52 + (int)pfVar31);\n  pcVar38 = pcStack_240;\n  if ((int)pfVar31 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3]);\n    unaff_s4 = puVar37[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar37[6];\n    unaff_s5 = (undefined4 *)puVar37[2];\n    this = (void *)puVar37[1];\n    puStack_22c = (undefined *)puVar37[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar37[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfStack_234 != pfVar31);\n  }\n  if (iStack_1c4 == *piStack_228) {\n    return;\n  }\n  pcVar39 = *(code **)(pcVar38 + -0x784c);\n  pcVar40 = FloodfillPaintImage;\n  (*pcVar39)();\n  pcVar38 = pcStack_240;\n  piVar35 = *(int **)(pcVar39 + 0x285224);\n  iStack_2b4 = *piVar35;\n  pfStack_2b0 = pfVar31;\n  piStack_2ac = piVar52;\n  puStack_2a8 = puVar37;\n  pvStack_2a4 = this;\n  uStack_2a0 = unaff_s4;\n  puStack_29c = unaff_s5;\n  ppfStack_298 = unaff_s6;\n  puStack_294 = puVar22;\n  puStack_290 = puVar9;\n  pcStack_28c = pcVar40;\n  dStack_288 = in_f20_21;\n  dStack_280 = in_f22_23;\n  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;\n  if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (in_a1 != (undefined *)0x0) {\n      if (*(int *)(in_a1 + 0x390) == -0x54535255) {\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);\n  }\n  (**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0x1114,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\n  puVar22 = puVar6;\nLAB_001250a8:\n  puVar6 = puVar22;\n  (**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0xdd0,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\n  do {\n    (**(code **)(pcVar39 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar39 + 0x284f14))\n              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar35);\n  return;\nLAB_00124d50:\n  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00124d60:\n  iVar14 = (*pcVar40)(uVar16,pcVar38);\n  if (iVar14 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar15 <= pdVar34) {\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar14 = iVar42 + 1;\n  uVar36 = uVar10;\n  if ((iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51)) {\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n  }\n  else {\n    pdVar33 = pdVar34 + 4;\n    *pdVar34 = (double)(int)uStack_390;\n    pdVar34[3] = (double)iVar45;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34 = pdVar33;\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n    if (pdVar15 <= pdVar33) {\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n    *pdVar34 = (double)iVar14;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34[3] = (double)-iVar45;\n    pdVar34 = pdVar34 + 4;\n  }\n  goto LAB_0012463c;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "TransparentPaintImage__omp_fn_2(void *this)" identifier (parameter_list "(void *this)" ( (parameter_declaration "void *this" primitive_type (pointer_declarator "*this" * identifier)) ))) { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "float **ppfVar3;" primitive_type (pointer_declarator "**ppfVar3" * (pointer_declarator "*ppfVar3" * identifier)) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "void *pvVar12;" primitive_type (pointer_declarator "*pvVar12" * identifier) ;) (declaration "double *pdVar13;" primitive_type (pointer_declarator "*pdVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "double *pdVar15;" primitive_type (pointer_declarator "*pdVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "float **ppfVar24;" primitive_type (pointer_declarator "**ppfVar24" * (pointer_declarator "*ppfVar24" * identifier)) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined *in_a1;" type_identifier (pointer_declarator "*in_a1" * identifier) ;) (declaration "float *in_a2;" primitive_type (pointer_declarator "*in_a2" * identifier) ;) (declaration "int in_a3;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "float *pfVar29;" primitive_type (pointer_declarator "*pfVar29" * identifier) ;) (declaration "float *pfVar30;" primitive_type (pointer_declarator "*pfVar30" * identifier) ;) (declaration "int *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "float *pfVar31;" primitive_type (pointer_declarator "*pfVar31" * identifier) ;) (declaration "float *pfVar32;" primitive_type (pointer_declarator "*pfVar32" * identifier) ;) (declaration "double *pdVar33;" primitive_type (pointer_declarator "*pdVar33" * identifier) ;) (declaration "double *pdVar34;" primitive_type (pointer_declarator "*pdVar34" * identifier) ;) (declaration "uint unaff_s4;" type_identifier identifier ;) (declaration "int *piVar35;" primitive_type (pointer_declarator "*piVar35" * identifier) ;) (declaration "undefined4 *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "float **unaff_s6;" primitive_type (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier)) ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined4 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "code *pcVar39;" type_identifier (pointer_declarator "*pcVar39" * identifier) ;) (declaration "code *pcVar40;" type_identifier (pointer_declarator "*pcVar40" * identifier) ;) (declaration "double dVar41;" primitive_type identifier ;) (declaration "int iVar42;" primitive_type identifier ;) (declaration "float fVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "int iVar45;" primitive_type identifier ;) (declaration "double in_f20_21;" primitive_type identifier ;) (declaration "double dVar46;" primitive_type identifier ;) (declaration "ulonglong uVar47;" type_identifier identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar48;" primitive_type identifier ;) (declaration "ulonglong uVar49;" type_identifier identifier ;) (declaration "undefined8 uVar50;" type_identifier identifier ;) (declaration "int iVar51;" primitive_type identifier ;) (declaration "int *piVar52;" primitive_type (pointer_declarator "*piVar52" * identifier) ;) (declaration "uint uStack_390;" type_identifier identifier ;) (declaration "int aiStack_368 [10];" primitive_type (array_declarator "aiStack_368 [10]" identifier [ number_literal ]) ;) (declaration "double dStack_340;" primitive_type identifier ;) (declaration "double dStack_338;" primitive_type identifier ;) (declaration "double dStack_330;" primitive_type identifier ;) (declaration "double dStack_328;" primitive_type identifier ;) (declaration "double dStack_320;" primitive_type identifier ;) (declaration "undefined4 uStack_310;" type_identifier identifier ;) (declaration "undefined4 uStack_30c;" type_identifier identifier ;) (declaration "undefined4 uStack_308;" type_identifier identifier ;) (declaration "undefined8 uStack_300;" type_identifier identifier ;) (declaration "undefined4 uStack_2f8;" type_identifier identifier ;) (declaration "double dStack_2e8;" primitive_type identifier ;) (declaration "double dStack_2e0;" primitive_type identifier ;) (declaration "double dStack_2d8;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "double dStack_2c8;" primitive_type identifier ;) (declaration "double dStack_2c0;" primitive_type identifier ;) (declaration "int iStack_2b4;" primitive_type identifier ;) (declaration "float *pfStack_2b0;" primitive_type (pointer_declarator "*pfStack_2b0" * identifier) ;) (declaration "int *piStack_2ac;" primitive_type (pointer_declarator "*piStack_2ac" * identifier) ;) (declaration "undefined4 *puStack_2a8;" type_identifier (pointer_declarator "*puStack_2a8" * identifier) ;) (declaration "void *pvStack_2a4;" primitive_type (pointer_declarator "*pvStack_2a4" * identifier) ;) (declaration "uint uStack_2a0;" type_identifier identifier ;) (declaration "undefined4 *puStack_29c;" type_identifier (pointer_declarator "*puStack_29c" * identifier) ;) (declaration "float **ppfStack_298;" primitive_type (pointer_declarator "**ppfStack_298" * (pointer_declarator "*ppfStack_298" * identifier)) ;) (declaration "undefined4 *puStack_294;" type_identifier (pointer_declarator "*puStack_294" * identifier) ;) (declaration "undefined4 *puStack_290;" type_identifier (pointer_declarator "*puStack_290" * identifier) ;) (declaration "code *pcStack_28c;" type_identifier (pointer_declarator "*pcStack_28c" * identifier) ;) (declaration "double dStack_288;" primitive_type identifier ;) (declaration "double dStack_280;" primitive_type identifier ;) (declaration "int iStack_248;" primitive_type identifier ;) (declaration "undefined *puStack_244;" type_identifier (pointer_declarator "*puStack_244" * identifier) ;) (declaration "code *pcStack_240;" type_identifier (pointer_declarator "*pcStack_240" * identifier) ;) (declaration "float *pfStack_234;" primitive_type (pointer_declarator "*pfStack_234" * identifier) ;) (declaration "undefined4 *puStack_230;" type_identifier (pointer_declarator "*puStack_230" * identifier) ;) (declaration "undefined *puStack_22c;" type_identifier (pointer_declarator "*puStack_22c" * identifier) ;) (declaration "int *piStack_228;" primitive_type (pointer_declarator "*piStack_228" * identifier) ;) (declaration "undefined *puStack_224;" type_identifier (pointer_declarator "*puStack_224" * identifier) ;) (declaration "float *pfStack_220;" primitive_type (pointer_declarator "*pfStack_220" * identifier) ;) (declaration "undefined4 uStack_21c;" type_identifier identifier ;) (declaration "undefined4 uStack_218;" type_identifier identifier ;) (declaration "undefined8 uStack_210;" type_identifier identifier ;) (declaration "undefined4 uStack_208;" type_identifier identifier ;) (declaration "double dStack_1f8;" primitive_type identifier ;) (declaration "double dStack_1f0;" primitive_type identifier ;) (declaration "double dStack_1e8;" primitive_type identifier ;) (declaration "double dStack_1e0;" primitive_type identifier ;) (declaration "double dStack_1d8;" primitive_type identifier ;) (declaration "double dStack_1d0;" primitive_type identifier ;) (declaration "int iStack_1c4;" primitive_type identifier ;) (declaration "int *piStack_1c0;" primitive_type (pointer_declarator "*piStack_1c0" * identifier) ;) (declaration "float *pfStack_1bc;" primitive_type (pointer_declarator "*pfStack_1bc" * identifier) ;) (declaration "float *pfStack_1b8;" primitive_type (pointer_declarator "*pfStack_1b8" * identifier) ;) (declaration "void *pvStack_1b4;" primitive_type (pointer_declarator "*pvStack_1b4" * identifier) ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 *puStack_1ac;" type_identifier (pointer_declarator "*puStack_1ac" * identifier) ;) (declaration "float **ppfStack_1a8;" primitive_type (pointer_declarator "**ppfStack_1a8" * (pointer_declarator "*ppfStack_1a8" * identifier)) ;) (declaration "undefined4 *puStack_1a4;" type_identifier (pointer_declarator "*puStack_1a4" * identifier) ;) (declaration "undefined4 *puStack_1a0;" type_identifier (pointer_declarator "*puStack_1a0" * identifier) ;) (declaration "code *pcStack_19c;" type_identifier (pointer_declarator "*pcStack_19c" * identifier) ;) (declaration "double dStack_198;" primitive_type identifier ;) (declaration "double dStack_190;" primitive_type identifier ;) (declaration "undefined4 uStack_178;" type_identifier identifier ;) (declaration "undefined *puStack_174;" type_identifier (pointer_declarator "*puStack_174" * identifier) ;) (declaration "undefined *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "undefined *puStack_164;" type_identifier (pointer_declarator "*puStack_164" * identifier) ;) (declaration "int *piStack_160;" primitive_type (pointer_declarator "*piStack_160" * identifier) ;) (declaration "undefined *puStack_15c;" type_identifier (pointer_declarator "*puStack_15c" * identifier) ;) (declaration "float *apfStack_158 [4];" primitive_type (pointer_declarator "*apfStack_158 [4]" * (array_declarator "apfStack_158 [4]" identifier [ number_literal ])) ;) (declaration "undefined8 uStack_148;" type_identifier identifier ;) (declaration "undefined4 uStack_140;" type_identifier identifier ;) (declaration "double dStack_130;" primitive_type identifier ;) (declaration "double dStack_128;" primitive_type identifier ;) (declaration "double dStack_120;" primitive_type identifier ;) (declaration "double dStack_118;" primitive_type identifier ;) (declaration "double dStack_110;" primitive_type identifier ;) (declaration "double dStack_108;" primitive_type identifier ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "int *piStack_f8;" primitive_type (pointer_declarator "*piStack_f8" * identifier) ;) (declaration "float *pfStack_f4;" primitive_type (pointer_declarator "*pfStack_f4" * identifier) ;) (declaration "float *pfStack_f0;" primitive_type (pointer_declarator "*pfStack_f0" * identifier) ;) (declaration "void *pvStack_ec;" primitive_type (pointer_declarator "*pvStack_ec" * identifier) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "undefined4 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "float **ppfStack_e0;" primitive_type (pointer_declarator "**ppfStack_e0" * (pointer_declarator "*ppfStack_e0" * identifier)) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "undefined4 *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "float *local_98 [4];" primitive_type (pointer_declarator "*local_98 [4]" * (array_declarator "local_98 [4]" identifier [ number_literal ])) ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "double local_70;" primitive_type identifier ;) (declaration "double local_68;" primitive_type identifier ;) (declaration "double local_60;" primitive_type identifier ;) (declaration "double local_58;" primitive_type identifier ;) (declaration "double local_50;" primitive_type identifier ;) (declaration "double local_48;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (expression_statement "puVar18 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar18 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) comment (expression_statement "puVar37 = *this;" (assignment_expression "puVar37 = *this" identifier = (pointer_expression "*this" * identifier)) ;) (expression_statement "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" * (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" * (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "iVar51 = (int)puVar37[7] / iVar4;" (assignment_expression "iVar51 = (int)puVar37[7] / iVar4" identifier = (binary_expression "(int)puVar37[7] / iVar4" (cast_expression "(int)puVar37[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar37[7]" identifier [ number_literal ])) / identifier)) ;) (expression_statement "iVar4 = (int)puVar37[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar37[7] % iVar4" identifier = (binary_expression "(int)puVar37[7] % iVar4" (cast_expression "(int)puVar37[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar37[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar22 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar22 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar22 != (undefined4 *)0x0) {\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar22 != (undefined4 *)0x0)" ( (binary_expression "puVar22 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar31 = (float *)(iVar51 * iVar5 + iVar4);" (assignment_expression "pfVar31 = (float *)(iVar51 * iVar5 + iVar4)" identifier = (cast_expression "(float *)(iVar51 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 * iVar5 + iVar4)" ( (binary_expression "iVar51 * iVar5 + iVar4" (binary_expression "iVar51 * iVar5" identifier * identifier) + identifier) )))) ;) (expression_statement "pfVar32 = (float *)(iVar51 + (int)pfVar31);" (assignment_expression "pfVar32 = (float *)(iVar51 + (int)pfVar31)" identifier = (cast_expression "(float *)(iVar51 + (int)pfVar31)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + (int)pfVar31)" ( (binary_expression "iVar51 + (int)pfVar31" identifier + (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)pfVar31 < (int)pfVar32) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))\n    ;\n    unaff_s5 = *(undefined4 **)((int)this + 0xc);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = *(undefined4 **)((int)this + 0x14);\n    unaff_s4 = *(uint *)((int)this + 4);\n    puVar7 = *(undefined **)((int)this + 0x10);\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }" if (parenthesized_expression "((int)pfVar31 < (int)pfVar32)" ( (binary_expression "(int)pfVar31 < (int)pfVar32" (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar32" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))\n    ;\n    unaff_s5 = *(undefined4 **)((int)this + 0xc);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = *(undefined4 **)((int)this + 0x14);\n    unaff_s4 = *(uint *)((int)this + 4);\n    puVar7 = *(undefined **)((int)this + 0x10);\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }" { (expression_statement "unaff_s6 = local_98;" (assignment_expression "unaff_s6 = local_98" identifier = identifier) ;) (expression_statement "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))\n    ;" (assignment_expression "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))" identifier = (cast_expression "(double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))" identifier (argument_list "((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))" ( (cast_expression "(int)((ulonglong)in_f22_23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f22_23 >> 0x20)" ( (binary_expression "(ulonglong)in_f22_23 >> 0x20" (cast_expression "(ulonglong)in_f22_23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "*(undefined4 *)((int)this + 8)" * (cast_expression "(undefined4 *)((int)this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 8)" ( (binary_expression "(int)this + 8" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "unaff_s5 = *(undefined4 **)((int)this + 0xc);" (assignment_expression "unaff_s5 = *(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 "**" * (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 "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = *(undefined4 **)((int)this + 0x14);" (assignment_expression "puVar6 = *(undefined4 **)((int)this + 0x14)" identifier = (pointer_expression "*(undefined4 **)((int)this + 0x14)" * (cast_expression "(undefined4 **)((int)this + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (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) ))))) ;) (expression_statement "unaff_s4 = *(uint *)((int)this + 4);" (assignment_expression "unaff_s4 = *(uint *)((int)this + 4)" identifier = (pointer_expression "*(uint *)((int)this + 4)" * (cast_expression "(uint *)((int)this + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 4)" ( (binary_expression "(int)this + 4" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar7 = *(undefined **)((int)this + 0x10);" (assignment_expression "puVar7 = *(undefined **)((int)this + 0x10)" identifier = (pointer_expression "*(undefined **)((int)this + 0x10)" * (cast_expression "(undefined **)((int)this + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (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 "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x2a14" identifier + number_literal)) ;) (do_statement "do {\n      if (*(int *)((int)this + 0x1c) != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);" do (compound_statement "{\n      if (*(int *)((int)this + 0x1c) != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    }" { (if_statement "if (*(int *)((int)this + 0x1c) != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\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        in_a1 = (undefined *)0x0;\n        in_a3 = puVar37[6];\n        local_b8 = 1;\n        puVar22 = puVar6;\n        in_a2 = pfVar31;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }" { (expression_statement "in_a1 = (undefined *)0x0;" (assignment_expression "in_a1 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_a3 = puVar37[6];" (assignment_expression "in_a3 = puVar37[6]" identifier = (subscript_expression "puVar37[6]" identifier [ number_literal ])) ;) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" identifier = number_literal) ;) (expression_statement "puVar22 = puVar6;" (assignment_expression "puVar22 = puVar6" identifier = identifier) ;) (expression_statement "in_a2 = pfVar31;" (assignment_expression "in_a2 = pfVar31" identifier = identifier) ;) (expression_statement "local_b4 = puVar7;" (assignment_expression "local_b4 = puVar7" identifier = identifier) ;) (expression_statement "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();" (assignment_expression "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" identifier = (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)" ( (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003a964c" * (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003a964c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (unaff_s7 == 0) {\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }\n        else {\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;\n        }" { (labeled_statement "LAB_00123734:\n          *(undefined4 *)((int)this + 0x1c) = 0;" statement_identifier : (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          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" else (compound_statement "{\n          puVar9 = *(undefined4 **)((int)this + 0x18);\n          puVar22 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar22;\n          ppfVar24[5] = pfVar29;\n          if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }\n          puVar22 = puVar6;\n          in_a1 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            *(undefined4 *)((int)this + 0x1c) = 0;\n          }\n          if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" { (expression_statement "puVar9 = *(undefined4 **)((int)this + 0x18);" (assignment_expression "puVar9 = *(undefined4 **)((int)this + 0x18)" identifier = (pointer_expression "*(undefined4 **)((int)this + 0x18)" * (cast_expression "(undefined4 **)((int)this + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (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 "puVar22 = puVar9;" (assignment_expression "puVar22 = puVar9" identifier = identifier) ;) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar22 != puVar9 + 0x14);" do (compound_statement "{\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar22;\n            puVar22 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          }" { (expression_statement "ppfVar24 = ppfVar3;" (assignment_expression "ppfVar24 = ppfVar3" identifier = identifier) ;) (expression_statement "puVar11 = puVar22;" (assignment_expression "puVar11 = puVar22" identifier = identifier) ;) (expression_statement "puVar22 = puVar11 + 4;" (assignment_expression "puVar22 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "pfVar30 = (float *)puVar11[1];" (assignment_expression "pfVar30 = (float *)puVar11[1]" identifier = (cast_expression "(float *)puVar11[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar29 = (float *)puVar11[2];" (assignment_expression "pfVar29 = (float *)puVar11[2]" identifier = (cast_expression "(float *)puVar11[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "in_a2 = (float *)puVar11[3];" (assignment_expression "in_a2 = (float *)puVar11[3]" identifier = (cast_expression "(float *)puVar11[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar24 = (float *)*puVar11;" (assignment_expression "*ppfVar24 = (float *)*puVar11" (pointer_expression "*ppfVar24" * identifier) = (cast_expression "(float *)*puVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "ppfVar24[1] = pfVar30;" (assignment_expression "ppfVar24[1] = pfVar30" (subscript_expression "ppfVar24[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar24[2] = pfVar29;" (assignment_expression "ppfVar24[2] = pfVar29" (subscript_expression "ppfVar24[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar24[3] = in_a2;" (assignment_expression "ppfVar24[3] = in_a2" (subscript_expression "ppfVar24[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar3 = ppfVar24 + 4;" (assignment_expression "ppfVar3 = ppfVar24 + 4" identifier = (binary_expression "ppfVar24 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar22 != puVar9 + 0x14)" ( (binary_expression "puVar22 != puVar9 + 0x14" identifier != (binary_expression "puVar9 + 0x14" identifier + number_literal)) )) ;) (expression_statement "pfVar29 = (float *)puVar11[5];" (assignment_expression "pfVar29 = (float *)puVar11[5]" identifier = (cast_expression "(float *)puVar11[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar24[4] = (float *)*puVar22;" (assignment_expression "ppfVar24[4] = (float *)*puVar22" (subscript_expression "ppfVar24[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar22" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar22" * identifier))) ;) (expression_statement "ppfVar24[5] = pfVar29;" (assignment_expression "ppfVar24[5] = pfVar29" (subscript_expression "ppfVar24[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0 < (int)puVar37[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }" if (parenthesized_expression "(0 < (int)puVar37[6])" ( (binary_expression "0 < (int)puVar37[6]" number_literal < (cast_expression "(int)puVar37[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar37[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);\n          }" { (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar37[6]);" do (compound_statement "{\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar37 + 0x92);\n              local_98[0] = (float *)*puVar37;\n              local_98[1] = (float *)puVar37[1];\n              local_80 = puVar37[8];\n              local_98[2] = (float *)puVar37[0xaf];\n              in_a2 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;\n            }" { (expression_statement "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);" (call_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58)" (parenthesized_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)" ( (pointer_expression "*(code *)PTR_ResetMagickMemory_003a8ff4" * (cast_expression "(code *)PTR_ResetMagickMemory_003a8ff4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "local_88 = *(undefined8 *)(puVar37 + 0x92);" (assignment_expression "local_88 = *(undefined8 *)(puVar37 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0x92)" * (cast_expression "(undefined8 *)(puVar37 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0x92)" ( (binary_expression "puVar37 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "local_98[0] = (float *)*puVar37;" (assignment_expression "local_98[0] = (float *)*puVar37" (subscript_expression "local_98[0]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar37" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ;) (expression_statement "local_98[1] = (float *)puVar37[1];" (assignment_expression "local_98[1] = (float *)puVar37[1]" (subscript_expression "local_98[1]" identifier [ number_literal ]) = (cast_expression "(float *)puVar37[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[1]" identifier [ number_literal ]))) ;) (expression_statement "local_80 = puVar37[8];" (assignment_expression "local_80 = puVar37[8]" identifier = (subscript_expression "puVar37[8]" identifier [ number_literal ])) ;) (expression_statement "local_98[2] = (float *)puVar37[0xaf];" (assignment_expression "local_98[2] = (float *)puVar37[0xaf]" (subscript_expression "local_98[2]" identifier [ number_literal ]) = (cast_expression "(float *)puVar37[0xaf]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[0xaf]" identifier [ number_literal ]))) ;) (expression_statement "in_a2 = local_98[0];" (assignment_expression "in_a2 = local_98[0]" identifier = (subscript_expression "local_98[0]" identifier [ number_literal ])) ;) (expression_statement "local_50 = in_f20_21;" (assignment_expression "local_50 = in_f20_21" identifier = identifier) ;) (if_statement "if (unaff_s7 != 0) {\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" if (parenthesized_expression "(unaff_s7 != 0)" ( (binary_expression "unaff_s7 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar4 = puVar37[0xb4];\n                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*in_a2;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" { (expression_statement "iVar4 = puVar37[0xb4];" (assignment_expression "iVar4 = puVar37[0xb4]" identifier = (subscript_expression "puVar37[0xb4]" identifier [ number_literal ])) ;) (expression_statement "in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" identifier = (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) ;) (expression_statement "local_70 = (double)*in_a2;" (assignment_expression "local_70 = (double)*in_a2" identifier = (cast_expression "(double)*in_a2" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*in_a2" * identifier))) ;) (expression_statement "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" { (expression_statement "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" { (expression_statement "local_98[2] = (float *)0x4;" (assignment_expression "local_98[2] = (float *)0x4" (subscript_expression "local_98[2]" identifier [ number_literal ]) = (cast_expression "(float *)0x4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" { (expression_statement "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) })) })) (expression_statement "puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);" (assignment_expression "puVar22 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" identifier = (cast_expression "(undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" (parenthesized_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)" ( (pointer_expression "*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" * (cast_expression "(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,unaff_s4)" ( identifier , identifier ))))) ;) (if_statement "if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" if (parenthesized_expression "((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0))" ( (binary_expression "(unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s5 != puVar22)" ( (binary_expression "unaff_s5 != puVar22" identifier != identifier) )) && (parenthesized_expression "(*(int *)(puVar37[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)(puVar37[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar37[0xb4] + 0x34)" * (cast_expression "(int *)(puVar37[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37[0xb4] + 0x34)" ( (binary_expression "puVar37[0xb4] + 0x34" (subscript_expression "puVar37[0xb4]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" { (expression_statement "*(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);" (assignment_expression "*(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0)" (pointer_expression "*(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4)" * (cast_expression "(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4)" ( (binary_expression "unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)(puVar37[0xb4] + 0x38) * 4" (pointer_expression "*(int *)(puVar37[0xb4] + 0x38)" * (cast_expression "(int *)(puVar37[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37[0xb4] + 0x38)" ( (binary_expression "puVar37[0xb4] + 0x38" (subscript_expression "puVar37[0xb4]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) = (call_expression "SUB84(in_f22_23,0)" identifier (argument_list "(in_f22_23,0)" ( identifier , number_literal )))) ;) })) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" identifier = (cast_expression "(int *)((int)unaff_s0 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 1)" ( (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;" (assignment_expression "unaff_s7 = unaff_s7 + puVar37[0xb0] * 4" identifier = (binary_expression "unaff_s7 + puVar37[0xb0] * 4" identifier + (binary_expression "puVar37[0xb0] * 4" (subscript_expression "puVar37[0xb0]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "((int)unaff_s0 < (int)puVar37[6])" ( (binary_expression "(int)unaff_s0 < (int)puVar37[6]" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar37[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar37[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "puVar22 = puVar6;" (assignment_expression "puVar22 = puVar6" identifier = identifier) ;) (expression_statement "in_a1 = puVar7;" (assignment_expression "in_a1 = puVar7" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)" ( (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" * (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (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) ;) })) (if_statement "if (puVar37[0xca] != 0) {\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" if (parenthesized_expression "(puVar37[0xca] != 0)" ( (binary_expression "puVar37[0xca] != 0" (subscript_expression "puVar37[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            unaff_s0 = *(int **)((int)this + 0x20);\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar37[7];\n            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];\n            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);\n            local_b8 = 0;\n            puVar22 = puVar37;\n            in_a1 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" { (expression_statement "unaff_s0 = *(int **)((int)this + 0x20);" (assignment_expression "unaff_s0 = *(int **)((int)this + 0x20)" identifier = (pointer_expression "*(int **)((int)this + 0x20)" * (cast_expression "(int **)((int)this + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)this + 0x20)" ( (binary_expression "(int)this + 0x20" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "(*(code *)PTR_GOMP_atomic_start_003a92e4)();" (call_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)()" (parenthesized_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)" ( (pointer_expression "*(code *)PTR_GOMP_atomic_start_003a92e4" * (cast_expression "(code *)PTR_GOMP_atomic_start_003a92e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar1 = PTR_GOMP_atomic_end_003a9438;" (assignment_expression "puVar1 = PTR_GOMP_atomic_end_003a9438" identifier = identifier) ;) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" identifier = (subscript_expression "unaff_s0[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = uVar10 + 1;" (assignment_expression "uVar23 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s0[1] = uVar23;" (assignment_expression "unaff_s0[1] = uVar23" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" * identifier) = (binary_expression "(uint)(uVar23 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar23 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < uVar10)" ( (binary_expression "uVar23 < uVar10" identifier < identifier) ))) + (pointer_expression "*unaff_s0" * identifier))) ;) (expression_statement "(*(code *)puVar1)();" (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_b4 = (undefined *)puVar37[7];" (assignment_expression "local_b4 = (undefined *)puVar37[7]" identifier = (cast_expression "(undefined *)puVar37[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[7]" identifier [ number_literal ]))) ;) (expression_statement "in_a3 = (*(undefined4 **)((int)this + 0x20))[1];" (assignment_expression "in_a3 = (*(undefined4 **)((int)this + 0x20))[1]" identifier = (subscript_expression "(*(undefined4 **)((int)this + 0x20))[1]" (parenthesized_expression "(*(undefined4 **)((int)this + 0x20))" ( (pointer_expression "*(undefined4 **)((int)this + 0x20)" * (cast_expression "(undefined4 **)((int)this + 0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)this + 0x20)" ( (binary_expression "(int)this + 0x20" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) [ number_literal ])) ;) (expression_statement "in_a2 = (float *)**(undefined4 **)((int)this + 0x20);" (assignment_expression "in_a2 = (float *)**(undefined4 **)((int)this + 0x20)" identifier = (cast_expression "(float *)**(undefined4 **)((int)this + 0x20)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)((int)this + 0x20)" * (pointer_expression "*(undefined4 **)((int)this + 0x20)" * (cast_expression "(undefined4 **)((int)this + 0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)this + 0x20)" ( (binary_expression "(int)this + 0x20" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "puVar22 = puVar37;" (assignment_expression "puVar22 = puVar37" identifier = identifier) ;) (expression_statement "in_a1 = puVar8;" (assignment_expression "in_a1 = puVar8" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();" (assignment_expression "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)()" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)()" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00123734;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123734;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar31 = (float *)((int)pfVar31 + 1);" (assignment_expression "pfVar31 = (float *)((int)pfVar31 + 1)" identifier = (cast_expression "(float *)((int)pfVar31 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar31 + 1)" ( (binary_expression "(int)pfVar31 + 1" (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfVar32 != pfVar31)" ( (binary_expression "pfVar32 != pfVar31" identifier != identifier) )) ;) })) (if_statement "if (local_3c == *(int *)puVar18) {\n    return;\n  }" if (parenthesized_expression "(local_3c == *(int *)puVar18)" ( (binary_expression "local_3c == *(int *)puVar18" identifier == (pointer_expression "*(int *)puVar18" * (cast_expression "(int *)puVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar38 = OpaquePaintImage__omp_fn_1;" (assignment_expression "pcVar38 = OpaquePaintImage__omp_fn_1" identifier = identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar18 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_170 = puVar18 + 0x28d118;" (assignment_expression "puStack_170 = puVar18 + 0x28d118" identifier = (binary_expression "puVar18 + 0x28d118" identifier + number_literal)) ;) (expression_statement "piStack_160 = *(int **)(puVar18 + 0x285a98);" (assignment_expression "piStack_160 = *(int **)(puVar18 + 0x285a98)" identifier = (pointer_expression "*(int **)(puVar18 + 0x285a98)" * (cast_expression "(int **)(puVar18 + 0x285a98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x285a98)" ( (binary_expression "puVar18 + 0x285a98" identifier + number_literal) ))))) ;) (expression_statement "iStack_fc = *piStack_160;" (assignment_expression "iStack_fc = *piStack_160" identifier = (pointer_expression "*piStack_160" * identifier)) ;) (expression_statement "puVar6 = (undefined4 *)*puVar22;" (assignment_expression "puVar6 = (undefined4 *)*puVar22" identifier = (cast_expression "(undefined4 *)*puVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar22" * identifier))) ;) (expression_statement "piStack_f8 = unaff_s0;" (assignment_expression "piStack_f8 = unaff_s0" identifier = identifier) ;) (expression_statement "pfStack_f4 = pfVar31;" (assignment_expression "pfStack_f4 = pfVar31" identifier = identifier) ;) (expression_statement "pfStack_f0 = pfVar32;" (assignment_expression "pfStack_f0 = pfVar32" identifier = identifier) ;) (expression_statement "pvStack_ec = this;" (assignment_expression "pvStack_ec = this" identifier = identifier) ;) (expression_statement "uStack_e8 = unaff_s4;" (assignment_expression "uStack_e8 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_e4 = unaff_s5;" (assignment_expression "puStack_e4 = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_e0 = unaff_s6;" (assignment_expression "ppfStack_e0 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_dc = unaff_s7;" (assignment_expression "iStack_dc = unaff_s7" identifier = identifier) ;) (expression_statement "puStack_d8 = puVar37;" (assignment_expression "puStack_d8 = puVar37" identifier = identifier) ;) (expression_statement "pcStack_d4 = pcVar38;" (assignment_expression "pcStack_d4 = pcVar38" identifier = identifier) ;) (expression_statement "dStack_d0 = in_f20_21;" (assignment_expression "dStack_d0 = in_f20_21" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puVar18 + 0x286174))();" (assignment_expression "iVar4 = (**(code **)(puVar18 + 0x286174))()" identifier = (call_expression "(**(code **)(puVar18 + 0x286174))()" (parenthesized_expression "(**(code **)(puVar18 + 0x286174))" ( (pointer_expression "**(code **)(puVar18 + 0x286174)" * (pointer_expression "*(code **)(puVar18 + 0x286174)" * (cast_expression "(code **)(puVar18 + 0x286174)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x286174)" ( (binary_expression "puVar18 + 0x286174" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(puStack_170 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(puStack_170 + -0x73a8))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x73a8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73a8))" ( (pointer_expression "**(code **)(puStack_170 + -0x73a8)" * (pointer_expression "*(code **)(puStack_170 + -0x73a8)" * (cast_expression "(code **)(puStack_170 + -0x73a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x73a8)" ( (binary_expression "puStack_170 + -0x73a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "iVar51 = (int)puVar6[7] / iVar4;" (assignment_expression "iVar51 = (int)puVar6[7] / iVar4" identifier = (binary_expression "(int)puVar6[7] / iVar4" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) / identifier)) ;) (expression_statement "iVar4 = (int)puVar6[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar6[7] % iVar4" identifier = (binary_expression "(int)puVar6[7] % iVar4" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar37 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar37 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar37 != (undefined4 *)0x0) {\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar37 != (undefined4 *)0x0)" ( (binary_expression "puVar37 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar51 = iVar51 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar31 = (float *)(iVar51 * iVar5 + iVar4);" (assignment_expression "pfVar31 = (float *)(iVar51 * iVar5 + iVar4)" identifier = (cast_expression "(float *)(iVar51 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 * iVar5 + iVar4)" ( (binary_expression "iVar51 * iVar5 + iVar4" (binary_expression "iVar51 * iVar5" identifier * identifier) + identifier) )))) ;) (expression_statement "pfVar32 = (float *)(iVar51 + (int)pfVar31);" (assignment_expression "pfVar32 = (float *)(iVar51 + (int)pfVar31)" identifier = (cast_expression "(float *)(iVar51 + (int)pfVar31)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + (int)pfVar31)" ( (binary_expression "iVar51 + (int)pfVar31" identifier + (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar18 = puStack_170;" (assignment_expression "puVar18 = puStack_170" identifier = identifier) ;) (if_statement "if ((int)pfVar31 < (int)pfVar32) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar22[3];\n    this = (void *)puVar22[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar22[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar22[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }" if (parenthesized_expression "((int)pfVar31 < (int)pfVar32)" ( (binary_expression "(int)pfVar31 < (int)pfVar32" (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar32" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar22[3];\n    this = (void *)puVar22[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar22[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar22[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);\n  }" { (expression_statement "unaff_s6 = apfStack_158;" (assignment_expression "unaff_s6 = apfStack_158" identifier = identifier) ;) (expression_statement "unaff_s5 = (undefined4 *)puVar22[3];" (assignment_expression "unaff_s5 = (undefined4 *)puVar22[3]" identifier = (cast_expression "(undefined4 *)puVar22[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar22[3]" identifier [ number_literal ]))) ;) (expression_statement "this = (void *)puVar22[1];" (assignment_expression "this = (void *)puVar22[1]" identifier = (cast_expression "(void *)puVar22[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar22[1]" identifier [ number_literal ]))) ;) (expression_statement "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(puStack_170 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(puStack_170 + -0x7fd0)" * (cast_expression "(int *)(puStack_170 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_170 + -0x7fd0)" ( (binary_expression "puStack_170 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puStack_164 = (undefined *)puVar22[2];" (assignment_expression "puStack_164 = (undefined *)puVar22[2]" identifier = (cast_expression "(undefined *)puVar22[2]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar22[2]" identifier [ number_literal ]))) ;) (expression_statement "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);" (assignment_expression "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" identifier = (cast_expression "(undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" ( (binary_expression "*(int *)(puStack_170 + -0x7fcc) + 0x2a28" (pointer_expression "*(int *)(puStack_170 + -0x7fcc)" * (cast_expression "(int *)(puStack_170 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_170 + -0x7fcc)" ( (binary_expression "puStack_170 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n      if (puVar22[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfVar32 != pfVar31);" do (compound_statement "{\n      if (puVar22[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    }" { (if_statement "if (puVar22[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" if (parenthesized_expression "(puVar22[7] != 0)" ( (binary_expression "puVar22[7] != 0" (subscript_expression "puVar22[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar37 = unaff_s5;\n        in_a2 = pfVar31;\n        unaff_s4 = (**(code **)(puVar18 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" { (expression_statement "in_a1 = (undefined *)0x0;" (assignment_expression "in_a1 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_a3 = puVar6[6];" (assignment_expression "in_a3 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "puStack_174 = puStack_164;" (assignment_expression "puStack_174 = puStack_164" identifier = identifier) ;) (expression_statement "uStack_178 = 1;" (assignment_expression "uStack_178 = 1" identifier = number_literal) ;) (expression_statement "puVar37 = unaff_s5;" (assignment_expression "puVar37 = unaff_s5" identifier = identifier) ;) (expression_statement "in_a2 = pfVar31;" (assignment_expression "in_a2 = pfVar31" identifier = identifier) ;) (expression_statement "unaff_s4 = (**(code **)(puVar18 + -0x7264))();" (assignment_expression "unaff_s4 = (**(code **)(puVar18 + -0x7264))()" identifier = (call_expression "(**(code **)(puVar18 + -0x7264))()" (parenthesized_expression "(**(code **)(puVar18 + -0x7264))" ( (pointer_expression "**(code **)(puVar18 + -0x7264)" * (pointer_expression "*(code **)(puVar18 + -0x7264)" * (cast_expression "(code **)(puVar18 + -0x7264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x7264)" ( (binary_expression "puVar18 + -0x7264" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" if (parenthesized_expression "(unaff_s4 == 0)" ( (binary_expression "unaff_s4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123bb4:\n          puVar22[7] = 0;\n          puVar18 = puStack_170;\n        }" { (labeled_statement "LAB_00123bb4:\n          puVar22[7] = 0;" statement_identifier : (expression_statement "puVar22[7] = 0;" (assignment_expression "puVar22[7] = 0" (subscript_expression "puVar22[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "puVar18 = puStack_170;" (assignment_expression "puVar18 = puStack_170" identifier = identifier) ;) }) (else_clause "else {\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" else (compound_statement "{\n          puVar9 = (undefined4 *)puVar22[6];\n          puVar37 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);\n          pfVar29 = (float *)puVar11[5];\n          ppfVar24[4] = (float *)*puVar37;\n          ppfVar24[5] = pfVar29;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar37 = unaff_s5;\n          in_a1 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }\n          puVar18 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" { (expression_statement "puVar9 = (undefined4 *)puVar22[6];" (assignment_expression "puVar9 = (undefined4 *)puVar22[6]" identifier = (cast_expression "(undefined4 *)puVar22[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar22[6]" identifier [ number_literal ]))) ;) (expression_statement "puVar37 = puVar9;" (assignment_expression "puVar37 = puVar9" identifier = identifier) ;) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          } while (puVar37 != puVar9 + 0x14);" do (compound_statement "{\n            ppfVar24 = ppfVar3;\n            puVar11 = puVar37;\n            puVar37 = puVar11 + 4;\n            pfVar30 = (float *)puVar11[1];\n            pfVar29 = (float *)puVar11[2];\n            in_a2 = (float *)puVar11[3];\n            *ppfVar24 = (float *)*puVar11;\n            ppfVar24[1] = pfVar30;\n            ppfVar24[2] = pfVar29;\n            ppfVar24[3] = in_a2;\n            ppfVar3 = ppfVar24 + 4;\n          }" { (expression_statement "ppfVar24 = ppfVar3;" (assignment_expression "ppfVar24 = ppfVar3" identifier = identifier) ;) (expression_statement "puVar11 = puVar37;" (assignment_expression "puVar11 = puVar37" identifier = identifier) ;) (expression_statement "puVar37 = puVar11 + 4;" (assignment_expression "puVar37 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "pfVar30 = (float *)puVar11[1];" (assignment_expression "pfVar30 = (float *)puVar11[1]" identifier = (cast_expression "(float *)puVar11[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar29 = (float *)puVar11[2];" (assignment_expression "pfVar29 = (float *)puVar11[2]" identifier = (cast_expression "(float *)puVar11[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "in_a2 = (float *)puVar11[3];" (assignment_expression "in_a2 = (float *)puVar11[3]" identifier = (cast_expression "(float *)puVar11[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar24 = (float *)*puVar11;" (assignment_expression "*ppfVar24 = (float *)*puVar11" (pointer_expression "*ppfVar24" * identifier) = (cast_expression "(float *)*puVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "ppfVar24[1] = pfVar30;" (assignment_expression "ppfVar24[1] = pfVar30" (subscript_expression "ppfVar24[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar24[2] = pfVar29;" (assignment_expression "ppfVar24[2] = pfVar29" (subscript_expression "ppfVar24[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar24[3] = in_a2;" (assignment_expression "ppfVar24[3] = in_a2" (subscript_expression "ppfVar24[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar3 = ppfVar24 + 4;" (assignment_expression "ppfVar3 = ppfVar24 + 4" identifier = (binary_expression "ppfVar24 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar37 != puVar9 + 0x14)" ( (binary_expression "puVar37 != puVar9 + 0x14" identifier != (binary_expression "puVar9 + 0x14" identifier + number_literal)) )) ;) (expression_statement "pfVar29 = (float *)puVar11[5];" (assignment_expression "pfVar29 = (float *)puVar11[5]" identifier = (cast_expression "(float *)puVar11[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar24[4] = (float *)*puVar37;" (assignment_expression "ppfVar24[4] = (float *)*puVar37" (subscript_expression "ppfVar24[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar37" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ;) (expression_statement "ppfVar24[5] = pfVar29;" (assignment_expression "ppfVar24[5] = pfVar29" (subscript_expression "ppfVar24[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)puVar6[6]) {\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" if (parenthesized_expression "(0 < (int)puVar6[6])" ( (binary_expression "0 < (int)puVar6[6]" number_literal < (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" { (expression_statement "pcVar38 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar38 = *(code **)(puStack_170 + -0x78bc)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x78bc)" * (cast_expression "(code **)(puStack_170 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x78bc)" ( (binary_expression "puStack_170 + -0x78bc" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );" do (compound_statement "{\n              (*pcVar38)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              in_a2 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);\n              if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar38 = *(code **)(puStack_170 + -0x78bc);\n            }" { (expression_statement "(*pcVar38)(unaff_s6,0,0x58);" (call_expression "(*pcVar38)(unaff_s6,0,0x58)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_148 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_148 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "apfStack_158[0] = (float *)*puVar6;" (assignment_expression "apfStack_158[0] = (float *)*puVar6" (subscript_expression "apfStack_158[0]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar6" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "apfStack_158[1] = (float *)puVar6[1];" (assignment_expression "apfStack_158[1] = (float *)puVar6[1]" (subscript_expression "apfStack_158[1]" identifier [ number_literal ]) = (cast_expression "(float *)puVar6[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uStack_140 = puVar6[8];" (assignment_expression "uStack_140 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "apfStack_158[2] = (float *)puVar6[0xaf];" (assignment_expression "apfStack_158[2] = (float *)puVar6[0xaf]" (subscript_expression "apfStack_158[2]" identifier [ number_literal ]) = (cast_expression "(float *)puVar6[0xaf]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[0xaf]" identifier [ number_literal ]))) ;) (expression_statement "in_a2 = apfStack_158[0];" (assignment_expression "in_a2 = apfStack_158[0]" identifier = (subscript_expression "apfStack_158[0]" identifier [ number_literal ])) ;) (expression_statement "dStack_110 = in_f20_21;" (assignment_expression "dStack_110 = in_f20_21" identifier = identifier) ;) (if_statement "if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" if (parenthesized_expression "(unaff_s4 == 0)" ( (binary_expression "unaff_s4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n              }" { (labeled_statement "LAB_00123a48:\n                pcVar38 = *(code **)(puStack_170 + -0x792c);" statement_identifier : (expression_statement "pcVar38 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar38 = *(code **)(puStack_170 + -0x792c)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x792c)" * (cast_expression "(code **)(puStack_170 + -0x792c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x792c)" ( (binary_expression "puStack_170 + -0x792c" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" else (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*in_a2;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar38 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" { (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" identifier = (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) ;) (expression_statement "dStack_130 = (double)*in_a2;" (assignment_expression "dStack_130 = (double)*in_a2" identifier = (cast_expression "(double)*in_a2" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*in_a2" * identifier))) ;) (expression_statement "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" { (expression_statement "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" { (expression_statement "apfStack_158[2] = (float *)0x4;" (assignment_expression "apfStack_158[2] = (float *)0x4" (subscript_expression "apfStack_158[2]" identifier [ number_literal ]) = (cast_expression "(float *)0x4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar38 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar38 = *(code **)(puStack_170 + -0x792c)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x792c)" * (cast_expression "(code **)(puStack_170 + -0x792c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x792c)" ( (binary_expression "puStack_170 + -0x792c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" { (expression_statement "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_00123a48;" goto statement_identifier ;) })) }))) (expression_statement "pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);" (assignment_expression "pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5])" identifier = (cast_expression "(void *)(*pcVar38)(unaff_s6,puVar22[5])" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar38)(unaff_s6,puVar22[5])" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(unaff_s6,puVar22[5])" ( identifier , (subscript_expression "puVar22[5]" identifier [ number_literal ]) ))))) ;) (if_statement "if (this != pvVar12) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }" if (parenthesized_expression "(this != pvVar12)" ( (binary_expression "this != pvVar12" identifier != identifier) )) (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }\n              }" { (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 4) & 2)" ( (binary_expression "*(uint *)(iVar4 + 4) & 2" (pointer_expression "*(uint *)(iVar4 + 4)" * (cast_expression "(uint *)(iVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x28)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar22[4] + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar22[4] + 0x28)" * (cast_expression "(double *)(puVar22[4] + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[4] + 0x28)" ( (binary_expression "puVar22[4] + 0x28" (subscript_expression "puVar22[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x10) & 2" (pointer_expression "*(uint *)(iVar4 + 0x10)" * (cast_expression "(uint *)(iVar4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x30)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar22[4] + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar22[4] + 0x30)" * (cast_expression "(double *)(puVar22[4] + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[4] + 0x30)" ( (binary_expression "puVar22[4] + 0x30" (subscript_expression "puVar22[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar4 + 0x1c)" * (cast_expression "(uint *)(iVar4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar22[4] + 0x38)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar22[4] + 0x38)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar22[4] + 0x38)" * (cast_expression "(double *)(puVar22[4] + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[4] + 0x38)" ( (binary_expression "puVar22[4] + 0x38" (subscript_expression "puVar22[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (expression_statement "uVar10 = *(uint *)(iVar4 + 0x34) & 2;" (assignment_expression "uVar10 = *(uint *)(iVar4 + 0x34) & 2" identifier = (binary_expression "*(uint *)(iVar4 + 0x34) & 2" (pointer_expression "*(uint *)(iVar4 + 0x34)" * (cast_expression "(uint *)(iVar4 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x28) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x28) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x28) & 2" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }" { (if_statement "if (uVar10 != 0) {\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    dVar41 = *(double *)(puVar22[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" { (expression_statement "dVar41 = *(double *)(puVar22[4] + 0x48);" (assignment_expression "dVar41 = *(double *)(puVar22[4] + 0x48)" identifier = (pointer_expression "*(double *)(puVar22[4] + 0x48)" * (cast_expression "(double *)(puVar22[4] + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[4] + 0x48)" ( (binary_expression "puVar22[4] + 0x48" (subscript_expression "puVar22[4]" identifier [ number_literal ]) + number_literal) ))))) ;) (goto_statement "goto LAB_0012391c;" goto statement_identifier ;) })) }) (else_clause "else {\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }" else (compound_statement "{\n                  in_a2 = (float *)puVar22[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }\n                }" { (expression_statement "in_a2 = (float *)puVar22[4];" (assignment_expression "in_a2 = (float *)puVar22[4]" identifier = (cast_expression "(float *)puVar22[4]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar22[4]" identifier [ number_literal ]))) ;) (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(in_a2 + 0x10)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(in_a2 + 0x10)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(in_a2 + 0x10)" * (cast_expression "(double *)(in_a2 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a2 + 0x10)" ( (binary_expression "in_a2 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if (uVar10 != 0) {\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    dVar41 = *(double *)(in_a2 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;\n                  }" { (expression_statement "dVar41 = *(double *)(in_a2 + 0x12);" (assignment_expression "dVar41 = *(double *)(in_a2 + 0x12)" identifier = (pointer_expression "*(double *)(in_a2 + 0x12)" * (cast_expression "(double *)(in_a2 + 0x12)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a2 + 0x12)" ( (binary_expression "in_a2 + 0x12" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;" statement_identifier : (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar41" ( (type_descriptor "float" primitive_type) ) identifier)) ;)) })) }))) })) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" identifier = (cast_expression "(int *)((int)unaff_s0 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 1)" ( (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;" (assignment_expression "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4" identifier = (binary_expression "unaff_s4 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (if_statement "if ((int)puVar6[6] <= (int)unaff_s0) break;" if (parenthesized_expression "((int)puVar6[6] <= (int)unaff_s0)" ( (binary_expression "(int)puVar6[6] <= (int)unaff_s0" (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ])) <= (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "pcVar38 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar38 = *(code **)(puStack_170 + -0x78bc)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x78bc)" * (cast_expression "(code **)(puStack_170 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x78bc)" ( (binary_expression "puStack_170 + -0x78bc" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar37 = unaff_s5;" (assignment_expression "puVar37 = unaff_s5" identifier = identifier) ;) (expression_statement "in_a1 = puStack_164;" (assignment_expression "in_a1 = puStack_164" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x73b8))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x73b8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73b8))" ( (pointer_expression "**(code **)(puStack_170 + -0x73b8)" * (pointer_expression "*(code **)(puStack_170 + -0x73b8)" * (cast_expression "(code **)(puStack_170 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x73b8)" ( (binary_expression "puStack_170 + -0x73b8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            puVar22[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar22[7] = 0;\n          }" { (expression_statement "puVar22[7] = 0;" (assignment_expression "puVar22[7] = 0" (subscript_expression "puVar22[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar18 = puStack_170;" (assignment_expression "puVar18 = puStack_170" identifier = identifier) ;) (if_statement "if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" if (parenthesized_expression "(puVar6[0xca] != 0)" ( (binary_expression "puVar6[0xca] != 0" (subscript_expression "puVar6[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            unaff_s0 = (int *)puVar22[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar23;\n            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;\n            (*pcVar38)();\n            puStack_174 = (undefined *)puVar6[7];\n            in_a3 = ((undefined4 *)puVar22[8])[1];\n            in_a2 = *(float **)puVar22[8];\n            uStack_178 = 0;\n            puVar37 = puVar6;\n            in_a1 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar18 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" { (expression_statement "unaff_s0 = (int *)puVar22[8];" (assignment_expression "unaff_s0 = (int *)puVar22[8]" identifier = (cast_expression "(int *)puVar22[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar22[8]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(puStack_170 + -0x75cc))();" (call_expression "(**(code **)(puStack_170 + -0x75cc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x75cc))" ( (pointer_expression "**(code **)(puStack_170 + -0x75cc)" * (pointer_expression "*(code **)(puStack_170 + -0x75cc)" * (cast_expression "(code **)(puStack_170 + -0x75cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x75cc)" ( (binary_expression "puStack_170 + -0x75cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" identifier = (subscript_expression "unaff_s0[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = uVar10 + 1;" (assignment_expression "uVar23 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar38 = *(code **)(puStack_170 + -0x7478);" (assignment_expression "pcVar38 = *(code **)(puStack_170 + -0x7478)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x7478)" * (cast_expression "(code **)(puStack_170 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x7478)" ( (binary_expression "puStack_170 + -0x7478" identifier + number_literal) ))))) ;) (expression_statement "unaff_s0[1] = uVar23;" (assignment_expression "unaff_s0[1] = uVar23" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" * identifier) = (binary_expression "(uint)(uVar23 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar23 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < uVar10)" ( (binary_expression "uVar23 < uVar10" identifier < identifier) ))) + (pointer_expression "*unaff_s0" * identifier))) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_174 = (undefined *)puVar6[7];" (assignment_expression "puStack_174 = (undefined *)puVar6[7]" identifier = (cast_expression "(undefined *)puVar6[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ;) (expression_statement "in_a3 = ((undefined4 *)puVar22[8])[1];" (assignment_expression "in_a3 = ((undefined4 *)puVar22[8])[1]" identifier = (subscript_expression "((undefined4 *)puVar22[8])[1]" (parenthesized_expression "((undefined4 *)puVar22[8])" ( (cast_expression "(undefined4 *)puVar22[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar22[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "in_a2 = *(float **)puVar22[8];" (assignment_expression "in_a2 = *(float **)puVar22[8]" identifier = (pointer_expression "*(float **)puVar22[8]" * (cast_expression "(float **)puVar22[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar22[8]" identifier [ number_literal ])))) ;) (expression_statement "uStack_178 = 0;" (assignment_expression "uStack_178 = 0" identifier = number_literal) ;) (expression_statement "puVar37 = puVar6;" (assignment_expression "puVar37 = puVar6" identifier = identifier) ;) (expression_statement "in_a1 = puStack_15c;" (assignment_expression "in_a1 = puStack_15c" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x7bfc))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x7bfc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x7bfc))" ( (pointer_expression "**(code **)(puStack_170 + -0x7bfc)" * (pointer_expression "*(code **)(puStack_170 + -0x7bfc)" * (cast_expression "(code **)(puStack_170 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x7bfc)" ( (binary_expression "puStack_170 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar18 = puStack_170;" (assignment_expression "puVar18 = puStack_170" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_00123bb4;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123bb4;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar31 = (float *)((int)pfVar31 + 1);" (assignment_expression "pfVar31 = (float *)((int)pfVar31 + 1)" identifier = (cast_expression "(float *)((int)pfVar31 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar31 + 1)" ( (binary_expression "(int)pfVar31 + 1" (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfVar32 != pfVar31)" ( (binary_expression "pfVar32 != pfVar31" identifier != identifier) )) ;) })) (if_statement "if (iStack_fc == *piStack_160) {\n    return;\n  }" if (parenthesized_expression "(iStack_fc == *piStack_160)" ( (binary_expression "iStack_fc == *piStack_160" identifier == (pointer_expression "*piStack_160" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar38 = *(code **)(puVar18 + -0x784c);" (assignment_expression "pcVar38 = *(code **)(puVar18 + -0x784c)" identifier = (pointer_expression "*(code **)(puVar18 + -0x784c)" * (cast_expression "(code **)(puVar18 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x784c)" ( (binary_expression "puVar18 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = TransparentPaintImageChroma__omp_fn_3;" (assignment_expression "pcVar39 = TransparentPaintImageChroma__omp_fn_3" identifier = identifier) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_240 = pcVar38 + 0x28cc9c;" (assignment_expression "pcStack_240 = pcVar38 + 0x28cc9c" identifier = (binary_expression "pcVar38 + 0x28cc9c" identifier + number_literal)) ;) (expression_statement "piStack_228 = *(int **)(pcVar38 + 0x28561c);" (assignment_expression "piStack_228 = *(int **)(pcVar38 + 0x28561c)" identifier = (pointer_expression "*(int **)(pcVar38 + 0x28561c)" * (cast_expression "(int **)(pcVar38 + 0x28561c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x28561c)" ( (binary_expression "pcVar38 + 0x28561c" identifier + number_literal) ))))) ;) (expression_statement "iStack_1c4 = *piStack_228;" (assignment_expression "iStack_1c4 = *piStack_228" identifier = (pointer_expression "*piStack_228" * identifier)) ;) (expression_statement "puVar9 = (undefined4 *)*puVar37;" (assignment_expression "puVar9 = (undefined4 *)*puVar37" identifier = (cast_expression "(undefined4 *)*puVar37" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar37" * identifier))) ;) (expression_statement "piStack_1c0 = unaff_s0;" (assignment_expression "piStack_1c0 = unaff_s0" identifier = identifier) ;) (expression_statement "pfStack_1bc = pfVar31;" (assignment_expression "pfStack_1bc = pfVar31" identifier = identifier) ;) (expression_statement "pfStack_1b8 = pfVar32;" (assignment_expression "pfStack_1b8 = pfVar32" identifier = identifier) ;) (expression_statement "pvStack_1b4 = this;" (assignment_expression "pvStack_1b4 = this" identifier = identifier) ;) (expression_statement "uStack_1b0 = unaff_s4;" (assignment_expression "uStack_1b0 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_1ac = unaff_s5;" (assignment_expression "puStack_1ac = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_1a8 = unaff_s6;" (assignment_expression "ppfStack_1a8 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_1a4 = puVar22;" (assignment_expression "puStack_1a4 = puVar22" identifier = identifier) ;) (expression_statement "puStack_1a0 = puVar6;" (assignment_expression "puStack_1a0 = puVar6" identifier = identifier) ;) (expression_statement "pcStack_19c = pcVar39;" (assignment_expression "pcStack_19c = pcVar39" identifier = identifier) ;) (expression_statement "dStack_198 = in_f20_21;" (assignment_expression "dStack_198 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_190 = in_f22_23;" (assignment_expression "dStack_190 = in_f22_23" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar38 + 0x285cf8))();" (assignment_expression "iVar4 = (**(code **)(pcVar38 + 0x285cf8))()" identifier = (call_expression "(**(code **)(pcVar38 + 0x285cf8))()" (parenthesized_expression "(**(code **)(pcVar38 + 0x285cf8))" ( (pointer_expression "**(code **)(pcVar38 + 0x285cf8)" * (pointer_expression "*(code **)(pcVar38 + 0x285cf8)" * (cast_expression "(code **)(pcVar38 + 0x285cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285cf8)" ( (binary_expression "pcVar38 + 0x285cf8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_240 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(pcStack_240 + -0x73a8))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x73a8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73a8))" ( (pointer_expression "**(code **)(pcStack_240 + -0x73a8)" * (pointer_expression "*(code **)(pcStack_240 + -0x73a8)" * (cast_expression "(code **)(pcStack_240 + -0x73a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x73a8)" ( (binary_expression "pcStack_240 + -0x73a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "piVar52 = (int *)((int)puVar9[7] / iVar4);" (assignment_expression "piVar52 = (int *)((int)puVar9[7] / iVar4)" identifier = (cast_expression "(int *)((int)puVar9[7] / iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9[7] / iVar4)" ( (binary_expression "(int)puVar9[7] / iVar4" (cast_expression "(int)puVar9[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[7]" identifier [ number_literal ])) / identifier) )))) ;) (expression_statement "iVar4 = (int)puVar9[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar9[7] % iVar4" identifier = (binary_expression "(int)puVar9[7] % iVar4" (cast_expression "(int)puVar9[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n    piVar52 = (int *)((int)piVar52 + 1);\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar52 = (int *)((int)piVar52 + 1);\n    iVar4 = 0;\n  }" { (expression_statement "piVar52 = (int *)((int)piVar52 + 1);" (assignment_expression "piVar52 = (int *)((int)piVar52 + 1)" identifier = (cast_expression "(int *)((int)piVar52 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar52 + 1)" ( (binary_expression "(int)piVar52 + 1" (cast_expression "(int)piVar52" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar31 = (float *)((int)piVar52 * iVar5 + iVar4);" (assignment_expression "pfVar31 = (float *)((int)piVar52 * iVar5 + iVar4)" identifier = (cast_expression "(float *)((int)piVar52 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar52 * iVar5 + iVar4)" ( (binary_expression "(int)piVar52 * iVar5 + iVar4" (binary_expression "(int)piVar52 * iVar5" (cast_expression "(int)piVar52" ( (type_descriptor "int" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (expression_statement "pfStack_234 = (float *)((int)piVar52 + (int)pfVar31);" (assignment_expression "pfStack_234 = (float *)((int)piVar52 + (int)pfVar31)" identifier = (cast_expression "(float *)((int)piVar52 + (int)pfVar31)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar52 + (int)pfVar31)" ( (binary_expression "(int)piVar52 + (int)pfVar31" (cast_expression "(int)piVar52" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar38 = pcStack_240;" (assignment_expression "pcVar38 = pcStack_240" identifier = identifier) ;) (if_statement "if ((int)pfVar31 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3]);\n    unaff_s4 = puVar37[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar37[6];\n    unaff_s5 = (undefined4 *)puVar37[2];\n    this = (void *)puVar37[1];\n    puStack_22c = (undefined *)puVar37[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar37[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfStack_234 != pfVar31);\n  }" if (parenthesized_expression "((int)pfVar31 < (int)pfStack_234)" ( (binary_expression "(int)pfVar31 < (int)pfStack_234" (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfStack_234" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3]);\n    unaff_s4 = puVar37[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar37[6];\n    unaff_s5 = (undefined4 *)puVar37[2];\n    this = (void *)puVar37[1];\n    puStack_22c = (undefined *)puVar37[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar37[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfStack_234 != pfVar31);\n  }" { (expression_statement "unaff_s6 = &pfStack_220;" (assignment_expression "unaff_s6 = &pfStack_220" identifier = (pointer_expression "&pfStack_220" & identifier)) ;) (expression_statement "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3]);" (assignment_expression "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3])" identifier = (cast_expression "(double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3])" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3])" identifier (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3])" ( (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" ( (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (subscript_expression "puVar37[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "unaff_s4 = puVar37[4];" (assignment_expression "unaff_s4 = puVar37[4]" identifier = (subscript_expression "puVar37[4]" identifier [ number_literal ])) ;) (expression_statement "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_240 + -0x7fd0)" * (cast_expression "(int *)(pcStack_240 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd0)" ( (binary_expression "pcStack_240 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puStack_230 = (undefined4 *)puVar37[6];" (assignment_expression "puStack_230 = (undefined4 *)puVar37[6]" identifier = (cast_expression "(undefined4 *)puVar37[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[6]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s5 = (undefined4 *)puVar37[2];" (assignment_expression "unaff_s5 = (undefined4 *)puVar37[2]" identifier = (cast_expression "(undefined4 *)puVar37[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[2]" identifier [ number_literal ]))) ;) (expression_statement "this = (void *)puVar37[1];" (assignment_expression "this = (void *)puVar37[1]" identifier = (cast_expression "(void *)puVar37[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[1]" identifier [ number_literal ]))) ;) (expression_statement "puStack_22c = (undefined *)puVar37[5];" (assignment_expression "puStack_22c = (undefined *)puVar37[5]" identifier = (cast_expression "(undefined *)puVar37[5]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[5]" identifier [ number_literal ]))) ;) (expression_statement "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);" (assignment_expression "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" identifier = (cast_expression "(undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fcc) + 0x2a14" (pointer_expression "*(int *)(pcStack_240 + -0x7fcc)" * (cast_expression "(int *)(pcStack_240 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fcc)" ( (binary_expression "pcStack_240 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n      if (puVar37[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    } while (pfStack_234 != pfVar31);" do (compound_statement "{\n      if (puVar37[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar31 = (float *)((int)pfVar31 + 1);\n    }" { (if_statement "if (puVar37[7] != 0) {\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" if (parenthesized_expression "(puVar37[7] != 0)" ( (binary_expression "puVar37[7] != 0" (subscript_expression "puVar37[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        in_a1 = (undefined *)0x0;\n        in_a3 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        in_a2 = pfVar31;\n        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();\n        if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" { (expression_statement "in_a1 = (undefined *)0x0;" (assignment_expression "in_a1 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_a3 = puVar9[6];" (assignment_expression "in_a3 = puVar9[6]" identifier = (subscript_expression "puVar9[6]" identifier [ number_literal ])) ;) (expression_statement "puStack_244 = puStack_22c;" (assignment_expression "puStack_244 = puStack_22c" identifier = identifier) ;) (expression_statement "iStack_248 = 1;" (assignment_expression "iStack_248 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" identifier = identifier) ;) (expression_statement "in_a2 = pfVar31;" (assignment_expression "in_a2 = pfVar31" identifier = identifier) ;) (expression_statement "piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();" (assignment_expression "piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))()" identifier = (cast_expression "(int *)(**(code **)(pcVar38 + -0x7264))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar38 + -0x7264))()" (parenthesized_expression "(**(code **)(pcVar38 + -0x7264))" ( (pointer_expression "**(code **)(pcVar38 + -0x7264)" * (pointer_expression "*(code **)(pcVar38 + -0x7264)" * (cast_expression "(code **)(pcVar38 + -0x7264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + -0x7264)" ( (binary_expression "pcVar38 + -0x7264" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar52 == (int *)0x0) {\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" if (parenthesized_expression "(piVar52 == (int *)0x0)" ( (binary_expression "piVar52 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00123f74:\n          puVar37[7] = 0;\n          pcVar38 = pcStack_240;\n        }" { (labeled_statement "LAB_00123f74:\n          puVar37[7] = 0;" statement_identifier : (expression_statement "puVar37[7] = 0;" (assignment_expression "puVar37[7] = 0" (subscript_expression "puVar37[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "pcVar38 = pcStack_240;" (assignment_expression "pcVar38 = pcStack_240" identifier = identifier) ;) }) (else_clause "else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" else (compound_statement "{\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          in_a1 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }\n          pcVar38 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" { (expression_statement "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);" (call_expression "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75fc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x75fc)" * (pointer_expression "*(code **)(pcStack_240 + -0x75fc)" * (cast_expression "(code **)(pcStack_240 + -0x75fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x75fc)" ( (binary_expression "pcStack_240 + -0x75fc" identifier + number_literal) ))))) )) (argument_list "(puVar9,unaff_s6)" ( identifier , identifier ))) ;) (if_statement "if (0 < (int)puVar9[6]) {\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }" if (parenthesized_expression "(0 < (int)puVar9[6])" ( (binary_expression "0 < (int)puVar9[6]" number_literal < (cast_expression "(int)puVar9[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            puVar22 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);\n          }" { (expression_statement "puVar22 = (undefined4 *)0x0;" (assignment_expression "puVar22 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            } while ((int)puVar22 < (int)puVar9[6]);" do (compound_statement "{\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              in_a2 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar22 = (undefined4 *)((int)puVar22 + 1);\n              piVar52 = piVar52 + puVar9[0xb0];\n            }" { (expression_statement "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);" (call_expression "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x78bc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x78bc)" * (pointer_expression "*(code **)(pcStack_240 + -0x78bc)" * (cast_expression "(code **)(pcStack_240 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x78bc)" ( (binary_expression "pcStack_240 + -0x78bc" identifier + number_literal) ))))) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_210 = *(undefined8 *)(puVar9 + 0x92);" (assignment_expression "uStack_210 = *(undefined8 *)(puVar9 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar9 + 0x92)" * (cast_expression "(undefined8 *)(puVar9 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x92)" ( (binary_expression "puVar9 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "pfStack_220 = (float *)*puVar9;" (assignment_expression "pfStack_220 = (float *)*puVar9" identifier = (cast_expression "(float *)*puVar9" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "uStack_21c = puVar9[1];" (assignment_expression "uStack_21c = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_208 = puVar9[8];" (assignment_expression "uStack_208 = puVar9[8]" identifier = (subscript_expression "puVar9[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_218 = puVar9[0xaf];" (assignment_expression "uStack_218 = puVar9[0xaf]" identifier = (subscript_expression "puVar9[0xaf]" identifier [ number_literal ])) ;) (expression_statement "in_a2 = pfStack_220;" (assignment_expression "in_a2 = pfStack_220" identifier = identifier) ;) (expression_statement "dStack_1d8 = in_f22_23;" (assignment_expression "dStack_1d8 = in_f22_23" identifier = identifier) ;) (if_statement "if (piVar52 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }" if (parenthesized_expression "(piVar52 != (int *)0x0)" ( (binary_expression "piVar52 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                iVar4 = puVar9[0xb4];\n                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*in_a2;\n                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }\n              }" { (expression_statement "iVar4 = puVar9[0xb4];" (assignment_expression "iVar4 = puVar9[0xb4]" identifier = (subscript_expression "puVar9[0xb4]" identifier [ number_literal ])) ;) (expression_statement "in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));" (assignment_expression "in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8))" identifier = (cast_expression "(float *)(piVar52 + *(int *)(iVar4 + 8))" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar52 + *(int *)(iVar4 + 8))" ( (binary_expression "piVar52 + *(int *)(iVar4 + 8)" identifier + (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "dStack_1f8 = (double)*in_a2;" (assignment_expression "dStack_1f8 = (double)*in_a2" identifier = (cast_expression "(double)*in_a2" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*in_a2" * identifier))) ;) (expression_statement "dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];" (assignment_expression "dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)]" identifier = (cast_expression "(double)(float)piVar52[*(int *)(iVar4 + 0x14)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar52[*(int *)(iVar4 + 0x14)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar52[*(int *)(iVar4 + 0x14)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) ])))) ;) (expression_statement "dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];" (assignment_expression "dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)]" identifier = (cast_expression "(double)(float)piVar52[*(int *)(iVar4 + 0x20)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar52[*(int *)(iVar4 + 0x20)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar52[*(int *)(iVar4 + 0x20)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) ])))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];\n                }" { (expression_statement "dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];" (assignment_expression "dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)]" identifier = (cast_expression "(double)(float)piVar52[*(int *)(iVar4 + 0x2c)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar52[*(int *)(iVar4 + 0x2c)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar52[*(int *)(iVar4 + 0x2c)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) ])))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];\n                }" { (expression_statement "uStack_218 = 4;" (assignment_expression "uStack_218 = 4" identifier = number_literal) ;) (expression_statement "dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];" (assignment_expression "dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)]" identifier = (cast_expression "(double)(float)piVar52[*(int *)(iVar4 + 0x38)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar52[*(int *)(iVar4 + 0x38)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar52[*(int *)(iVar4 + 0x38)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) ])))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];\n                }" { (expression_statement "dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];" (assignment_expression "dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)]" identifier = (cast_expression "(double)(float)piVar52[*(int *)(iVar4 + 0x44)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar52[*(int *)(iVar4 + 0x44)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar52[*(int *)(iVar4 + 0x44)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) ])))) ;) })) })) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (if_statement "if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" if (parenthesized_expression "(((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0))" ( (binary_expression "((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)((int)this + 0x30) <= dStack_1f0)" (parenthesized_expression "((*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10)))" ( (binary_expression "(*(double *)((int)this + 0x28) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))" (parenthesized_expression "(*(double *)((int)this + 0x28) <= dStack_1f8)" ( (binary_expression "*(double *)((int)this + 0x28) <= dStack_1f8" (pointer_expression "*(double *)((int)this + 0x28)" * (cast_expression "(double *)((int)this + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x28)" ( (binary_expression "(int)this + 0x28" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) <= identifier) )) && (parenthesized_expression "(dStack_1f8 <= *(double *)(unaff_s5 + 10))" ( (binary_expression "dStack_1f8 <= *(double *)(unaff_s5 + 10)" identifier <= (pointer_expression "*(double *)(unaff_s5 + 10)" * (cast_expression "(double *)(unaff_s5 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 10)" ( (binary_expression "unaff_s5 + 10" identifier + number_literal) ))))) ))) )) && (parenthesized_expression "(*(double *)((int)this + 0x30) <= dStack_1f0)" ( (binary_expression "*(double *)((int)this + 0x30) <= dStack_1f0" (pointer_expression "*(double *)((int)this + 0x30)" * (cast_expression "(double *)((int)this + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x30)" ( (binary_expression "(int)this + 0x30" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" { (if_statement "if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" if (parenthesized_expression "((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38)))" ( (binary_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)((int)this + 0x38))" (parenthesized_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0)" ( (binary_expression "*(double *)(unaff_s5 + 0xc) < dStack_1f0" (pointer_expression "*(double *)(unaff_s5 + 0xc)" * (cast_expression "(double *)(unaff_s5 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0xc)" ( (binary_expression "unaff_s5 + 0xc" identifier + number_literal) )))) < identifier) )) || (parenthesized_expression "(dStack_1e8 < *(double *)((int)this + 0x38))" ( (binary_expression "dStack_1e8 < *(double *)((int)this + 0x38)" identifier < (pointer_expression "*(double *)((int)this + 0x38)" * (cast_expression "(double *)((int)this + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x38)" ( (binary_expression "(int)this + 0x38" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (compound_statement "{\n                  uVar10 = 0;\n                }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" else (compound_statement "{\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" { (expression_statement "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));" (assignment_expression "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" identifier = (call_expression "(uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" ( (binary_expression "dStack_1e8 <= *(double *)(unaff_s5 + 0xe)" identifier <= (pointer_expression "*(double *)(unaff_s5 + 0xe)" * (cast_expression "(double *)(unaff_s5 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0xe)" ( (binary_expression "unaff_s5 + 0xe" identifier + number_literal) ))))) )))) ;) }))) })) (if_statement "if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" if (parenthesized_expression "((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0))" ( (binary_expression "(unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s4 != uVar10)" ( (binary_expression "unaff_s4 != uVar10" identifier != identifier) )) && (parenthesized_expression "(*(int *)(puVar9[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)(puVar9[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar9[0xb4] + 0x34)" * (cast_expression "(int *)(puVar9[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9[0xb4] + 0x34)" ( (binary_expression "puVar9[0xb4] + 0x34" (subscript_expression "puVar9[0xb4]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" { (expression_statement "piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);" (assignment_expression "piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0)" (subscript_expression "piVar52[*(int *)(puVar9[0xb4] + 0x38)]" identifier [ (pointer_expression "*(int *)(puVar9[0xb4] + 0x38)" * (cast_expression "(int *)(puVar9[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9[0xb4] + 0x38)" ( (binary_expression "puVar9[0xb4] + 0x38" (subscript_expression "puVar9[0xb4]" identifier [ number_literal ]) + number_literal) )))) ]) = (call_expression "SUB84(in_f20_21,0)" identifier (argument_list "(in_f20_21,0)" ( identifier , number_literal )))) ;) })) (expression_statement "puVar22 = (undefined4 *)((int)puVar22 + 1);" (assignment_expression "puVar22 = (undefined4 *)((int)puVar22 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar22 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + 1)" ( (binary_expression "(int)puVar22 + 1" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar52 = piVar52 + puVar9[0xb0];" (assignment_expression "piVar52 = piVar52 + puVar9[0xb0]" identifier = (binary_expression "piVar52 + puVar9[0xb0]" identifier + (subscript_expression "puVar9[0xb0]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((int)puVar22 < (int)puVar9[6])" ( (binary_expression "(int)puVar22 < (int)puVar9[6]" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar9[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" identifier = identifier) ;) (expression_statement "in_a1 = puStack_22c;" (assignment_expression "in_a1 = puStack_22c" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x73b8))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x73b8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73b8))" ( (pointer_expression "**(code **)(pcStack_240 + -0x73b8)" * (pointer_expression "*(code **)(pcStack_240 + -0x73b8)" * (cast_expression "(code **)(pcStack_240 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x73b8)" ( (binary_expression "pcStack_240 + -0x73b8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            puVar37[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar37[7] = 0;\n          }" { (expression_statement "puVar37[7] = 0;" (assignment_expression "puVar37[7] = 0" (subscript_expression "puVar37[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "pcVar38 = pcStack_240;" (assignment_expression "pcVar38 = pcStack_240" identifier = identifier) ;) (if_statement "if (puVar9[0xca] != 0) {\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" if (parenthesized_expression "(puVar9[0xca] != 0)" ( (binary_expression "puVar9[0xca] != 0" (subscript_expression "puVar9[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            piVar52 = (int *)puVar37[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar52[1];\n            uVar23 = uVar10 + 1;\n            pcVar38 = *(code **)(pcStack_240 + -0x7478);\n            piVar52[1] = uVar23;\n            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;\n            (*pcVar38)();\n            puStack_244 = (undefined *)puVar9[7];\n            in_a3 = ((undefined4 *)puVar37[8])[1];\n            in_a2 = *(float **)puVar37[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            in_a1 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar38 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" { (expression_statement "piVar52 = (int *)puVar37[8];" (assignment_expression "piVar52 = (int *)puVar37[8]" identifier = (cast_expression "(int *)puVar37[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[8]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(pcStack_240 + -0x75cc))();" (call_expression "(**(code **)(pcStack_240 + -0x75cc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75cc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x75cc)" * (pointer_expression "*(code **)(pcStack_240 + -0x75cc)" * (cast_expression "(code **)(pcStack_240 + -0x75cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x75cc)" ( (binary_expression "pcStack_240 + -0x75cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = piVar52[1];" (assignment_expression "uVar10 = piVar52[1]" identifier = (subscript_expression "piVar52[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = uVar10 + 1;" (assignment_expression "uVar23 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar38 = *(code **)(pcStack_240 + -0x7478);" (assignment_expression "pcVar38 = *(code **)(pcStack_240 + -0x7478)" identifier = (pointer_expression "*(code **)(pcStack_240 + -0x7478)" * (cast_expression "(code **)(pcStack_240 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7478)" ( (binary_expression "pcStack_240 + -0x7478" identifier + number_literal) ))))) ;) (expression_statement "piVar52[1] = uVar23;" (assignment_expression "piVar52[1] = uVar23" (subscript_expression "piVar52[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar52 = (uint)(uVar23 < uVar10) + *piVar52;" (assignment_expression "*piVar52 = (uint)(uVar23 < uVar10) + *piVar52" (pointer_expression "*piVar52" * identifier) = (binary_expression "(uint)(uVar23 < uVar10) + *piVar52" (call_expression "(uint)(uVar23 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < uVar10)" ( (binary_expression "uVar23 < uVar10" identifier < identifier) ))) + (pointer_expression "*piVar52" * identifier))) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_244 = (undefined *)puVar9[7];" (assignment_expression "puStack_244 = (undefined *)puVar9[7]" identifier = (cast_expression "(undefined *)puVar9[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar9[7]" identifier [ number_literal ]))) ;) (expression_statement "in_a3 = ((undefined4 *)puVar37[8])[1];" (assignment_expression "in_a3 = ((undefined4 *)puVar37[8])[1]" identifier = (subscript_expression "((undefined4 *)puVar37[8])[1]" (parenthesized_expression "((undefined4 *)puVar37[8])" ( (cast_expression "(undefined4 *)puVar37[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar37[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "in_a2 = *(float **)puVar37[8];" (assignment_expression "in_a2 = *(float **)puVar37[8]" identifier = (pointer_expression "*(float **)puVar37[8]" * (cast_expression "(float **)puVar37[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar37[8]" identifier [ number_literal ])))) ;) (expression_statement "iStack_248 = 0;" (assignment_expression "iStack_248 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = puVar9;" (assignment_expression "puVar6 = puVar9" identifier = identifier) ;) (expression_statement "in_a1 = puStack_224;" (assignment_expression "in_a1 = puStack_224" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x7bfc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7bfc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7bfc)" * (pointer_expression "*(code **)(pcStack_240 + -0x7bfc)" * (cast_expression "(code **)(pcStack_240 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7bfc)" ( (binary_expression "pcStack_240 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar38 = pcStack_240;" (assignment_expression "pcVar38 = pcStack_240" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_00123f74;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123f74;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar31 = (float *)((int)pfVar31 + 1);" (assignment_expression "pfVar31 = (float *)((int)pfVar31 + 1)" identifier = (cast_expression "(float *)((int)pfVar31 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar31 + 1)" ( (binary_expression "(int)pfVar31 + 1" (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfStack_234 != pfVar31)" ( (binary_expression "pfStack_234 != pfVar31" identifier != identifier) )) ;) })) (if_statement "if (iStack_1c4 == *piStack_228) {\n    return;\n  }" if (parenthesized_expression "(iStack_1c4 == *piStack_228)" ( (binary_expression "iStack_1c4 == *piStack_228" identifier == (pointer_expression "*piStack_228" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + -0x784c);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar38 + -0x784c)" * (cast_expression "(code **)(pcVar38 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + -0x784c)" ( (binary_expression "pcVar38 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar40 = FloodfillPaintImage;" (assignment_expression "pcVar40 = FloodfillPaintImage" identifier = identifier) ;) (expression_statement "(*pcVar39)();" (call_expression "(*pcVar39)()" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar38 = pcStack_240;" (assignment_expression "pcVar38 = pcStack_240" identifier = identifier) ;) (expression_statement "piVar35 = *(int **)(pcVar39 + 0x285224);" (assignment_expression "piVar35 = *(int **)(pcVar39 + 0x285224)" identifier = (pointer_expression "*(int **)(pcVar39 + 0x285224)" * (cast_expression "(int **)(pcVar39 + 0x285224)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285224)" ( (binary_expression "pcVar39 + 0x285224" identifier + number_literal) ))))) ;) (expression_statement "iStack_2b4 = *piVar35;" (assignment_expression "iStack_2b4 = *piVar35" identifier = (pointer_expression "*piVar35" * identifier)) ;) (expression_statement "pfStack_2b0 = pfVar31;" (assignment_expression "pfStack_2b0 = pfVar31" identifier = identifier) ;) (expression_statement "piStack_2ac = piVar52;" (assignment_expression "piStack_2ac = piVar52" identifier = identifier) ;) (expression_statement "puStack_2a8 = puVar37;" (assignment_expression "puStack_2a8 = puVar37" identifier = identifier) ;) (expression_statement "pvStack_2a4 = this;" (assignment_expression "pvStack_2a4 = this" identifier = identifier) ;) (expression_statement "uStack_2a0 = unaff_s4;" (assignment_expression "uStack_2a0 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_29c = unaff_s5;" (assignment_expression "puStack_29c = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_298 = unaff_s6;" (assignment_expression "ppfStack_298 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_294 = puVar22;" (assignment_expression "puStack_294 = puVar22" identifier = identifier) ;) (expression_statement "puStack_290 = puVar9;" (assignment_expression "puStack_290 = puVar9" identifier = identifier) ;) (expression_statement "pcStack_28c = pcVar40;" (assignment_expression "pcStack_28c = pcVar40" identifier = identifier) ;) (expression_statement "dStack_288 = in_f20_21;" (assignment_expression "dStack_288 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_280 = in_f22_23;" (assignment_expression "dStack_280 = in_f22_23" identifier = identifier) ;) (if_statement "if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;" if (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" ( (binary_expression "puVar6 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001250a8;" goto statement_identifier ;)) (if_statement "if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (in_a1 != (undefined *)0x0) {\n      if (*(int *)(in_a1 + 0x390) == -0x54535255) {\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);\n  }" if (parenthesized_expression "(puVar6[0xcdb] == -0x54535255)" ( (binary_expression "puVar6[0xcdb] == -0x54535255" (subscript_expression "puVar6[0xcdb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (in_a1 != (undefined *)0x0) {\n      if (*(int *)(in_a1 + 0x390) == -0x54535255) {\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }" { (if_statement "if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" if (parenthesized_expression "(puVar6[0xcd4] != 0)" ( (binary_expression "puVar6[0xcd4] != 0" (subscript_expression "puVar6[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" { (expression_statement "(**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);" (call_expression "(**(code **)(pcVar39 + 0x2851d4))\n                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2851d4))" ( (pointer_expression "**(code **)(pcVar39 + 0x2851d4)" * (pointer_expression "*(code **)(pcVar39 + 0x2851d4)" * (cast_expression "(code **)(pcVar39 + 0x2851d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2851d4)" ( (binary_expression "pcVar39 + 0x2851d4" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + -0x62ac" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar6 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (in_a1 != (undefined *)0x0) {\n      if (*(int *)(in_a1 + 0x390) == -0x54535255) {\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" if (parenthesized_expression "(in_a1 != (undefined *)0x0)" ( (binary_expression "in_a1 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(in_a1 + 0x390) == -0x54535255) {\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" { (if_statement "if (*(int *)(in_a1 + 0x390) == -0x54535255) {\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" if (parenthesized_expression "(*(int *)(in_a1 + 0x390) == -0x54535255)" ( (binary_expression "*(int *)(in_a1 + 0x390) == -0x54535255" (pointer_expression "*(int *)(in_a1 + 0x390)" * (cast_expression "(int *)(in_a1 + 0x390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x390)" ( (binary_expression "in_a1 + 0x390" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (in_a3 < 0) goto LAB_001240ec;\n        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;\n        if (iStack_248 < 0) goto LAB_001240ec;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;\n        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar40)(puVar6,0x17,pcVar38);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }\n        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);\n        if (iVar4 == 0) goto LAB_001240ec;\n        iVar5 = *(int *)(pcVar39 + 0x2848d8);\n        pcVar40 = *(code **)(pcVar39 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);\n        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);\n        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);\n        iVar51 = puVar6[7];\n        pdVar34 = pdVar13;\n        if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }\n        pdVar15 = pdVar13 + 0x200000;\n        if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar40 = *(code **)(pcVar39 + 0x2852a8);\n        pdVar33 = pdVar34;\n        if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }\n        (*pcVar40)(puVar6,&uStack_310);\n        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);\n        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);\n        if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }\n        (**(code **)(pcVar39 + 0x284ee8))(uVar16);\n        (**(code **)(pcVar39 + 0x284ee8))(uVar28);\n        (**(code **)(pcVar39 + 0x28538c))(iVar5);\n        (**(code **)(pcVar39 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" { (if_statement "if (in_a3 < 0) goto LAB_001240ec;" if (parenthesized_expression "(in_a3 < 0)" ( (binary_expression "in_a3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;)) (if_statement "if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;" if (parenthesized_expression "((int)puVar6[6] <= in_a3)" ( (binary_expression "(int)puVar6[6] <= in_a3" (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;)) (if_statement "if (iStack_248 < 0) goto LAB_001240ec;" if (parenthesized_expression "(iStack_248 < 0)" ( (binary_expression "iStack_248 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;)) (if_statement "if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;" if (parenthesized_expression "((int)puVar6[7] <= iStack_248)" ( (binary_expression "(int)puVar6[7] <= iStack_248" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);" (assignment_expression "iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285818))" ( (pointer_expression "**(code **)(pcVar39 + 0x285818)" * (pointer_expression "*(code **)(pcVar39 + 0x285818)" * (cast_expression "(code **)(pcVar39 + 0x285818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285818)" ( (binary_expression "pcVar39 + 0x285818" identifier + number_literal) ))))) )) (argument_list "(puVar6,1,pcVar38)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001240ec;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;)) (if_statement "if (puVar6[1] == 0x21) {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }\n        else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" if (parenthesized_expression "(puVar6[1] == 0x21)" ( (binary_expression "puVar6[1] == 0x21" (subscript_expression "puVar6[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n        }" { (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284d34);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284d34)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284d34)" * (cast_expression "(code **)(pcVar39 + 0x284d34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284d34)" ( (binary_expression "pcVar39 + 0x284d34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" else (compound_statement "{\n          pcVar40 = *(code **)(pcVar39 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" { (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284d34);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284d34)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284d34)" * (cast_expression "(code **)(pcVar39 + 0x284d34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284d34)" ( (binary_expression "pcVar39 + 0x284d34" identifier + number_literal) ))))) ;) (if_statement "if (puVar6[1] != 3) goto LAB_001241b0;" if (parenthesized_expression "(puVar6[1] != 3)" ( (binary_expression "puVar6[1] != 3" (subscript_expression "puVar6[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_001241b0;" goto statement_identifier ;)) }))) (expression_statement "(*pcVar40)(puVar6,0x17,pcVar38);" (call_expression "(*pcVar40)(puVar6,0x17,pcVar38)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(puVar6,0x17,pcVar38)" ( identifier , number_literal , identifier ))) ;) (labeled_statement "LAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }" statement_identifier : (if_statement "if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }" if (parenthesized_expression "((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0))" ( (binary_expression "(puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)" (parenthesized_expression "(puVar6[0xaf] == 0)" ( (binary_expression "puVar6[0xaf] == 0" (subscript_expression "puVar6[0xaf]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(*(int *)(in_a1 + 0x50) != 0)" ( (binary_expression "*(int *)(in_a1 + 0x50) != 0" (pointer_expression "*(int *)(in_a1 + 0x50)" * (cast_expression "(int *)(in_a1 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x50)" ( (binary_expression "in_a1 + 0x50" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);\n        }" { (expression_statement "(**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);" (call_expression "(**(code **)(pcVar39 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284c6c))" ( (pointer_expression "**(code **)(pcVar39 + 0x284c6c)" * (pointer_expression "*(code **)(pcVar39 + 0x284c6c)" * (cast_expression "(code **)(pcVar39 + 0x284c6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284c6c)" ( (binary_expression "pcVar39 + 0x284c6c" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) )))) , identifier ))) ;) }))) (expression_statement "iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);" (assignment_expression "iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285824))" ( (pointer_expression "**(code **)(pcVar39 + 0x285824)" * (pointer_expression "*(code **)(pcVar39 + 0x285824)" * (cast_expression "(code **)(pcVar39 + 0x285824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285824)" ( (binary_expression "pcVar39 + 0x285824" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,0,1,pcVar38)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001240ec;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(pcVar39 + 0x2848d8);" (assignment_expression "iVar5 = *(int *)(pcVar39 + 0x2848d8)" identifier = (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) ))))) ;) (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284e08);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284e08)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284e08)" * (cast_expression "(code **)(pcVar39 + 0x284e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284e08)" ( (binary_expression "pcVar39 + 0x284e08" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar4 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 700)" * (cast_expression "(undefined4 *)(iVar4 + 700)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 700)" ( (binary_expression "iVar4 + 700" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar4 + 4) = 3;" (assignment_expression "*(undefined4 *)(iVar4 + 4) = 3" (pointer_expression "*(undefined4 *)(iVar4 + 4)" * (cast_expression "(undefined4 *)(iVar4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);" (call_expression "(*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38)" ( (binary_expression "iVar5 + 0x2a38" identifier + number_literal) , number_literal , (binary_expression "iVar4 + 0x88" identifier + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);" (call_expression "(**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284e84))" ( (pointer_expression "**(code **)(pcVar39 + 0x284e84)" * (pointer_expression "*(code **)(pcVar39 + 0x284e84)" * (cast_expression "(code **)(pcVar39 + 0x284e84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284e84)" ( (binary_expression "pcVar39 + 0x284e84" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar38)" ( identifier , identifier ))) ;) (expression_statement "iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);" (assignment_expression "iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20)" identifier = (call_expression "(**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2852c0))" ( (pointer_expression "**(code **)(pcVar39 + 0x2852c0)" * (pointer_expression "*(code **)(pcVar39 + 0x2852c0)" * (cast_expression "(code **)(pcVar39 + 0x2852c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2852c0)" ( (binary_expression "pcVar39 + 0x2852c0" identifier + number_literal) ))))) )) (argument_list "(0x80000,0x20)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          (**(code **)(pcVar39 + 0x284f40))(iVar4);\n          (**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar39 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar39 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284f40))" ( (pointer_expression "**(code **)(pcVar39 + 0x284f40)" * (pointer_expression "*(code **)(pcVar39 + 0x284f40)" * (cast_expression "(code **)(pcVar39 + 0x284f40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f40)" ( (binary_expression "pcVar39 + 0x284f40" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6);" (call_expression "(**(code **)(pcVar39 + 0x284f14))\n                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284f14))" ( (pointer_expression "**(code **)(pcVar39 + 0x284f14)" * (pointer_expression "*(code **)(pcVar39 + 0x284f14)" * (cast_expression "(code **)(pcVar39 + 0x284f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f14)" ( (binary_expression "pcVar39 + 0x284f14" identifier + number_literal) ))))) )) (argument_list "(pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,\n                     puVar6)" ( identifier , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x16f8" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;) })) (expression_statement "pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);" (assignment_expression "pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5)" identifier = (cast_expression "(double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar39 + 0x284f1c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284f1c))" ( (pointer_expression "**(code **)(pcVar39 + 0x284f1c)" * (pointer_expression "*(code **)(pcVar39 + 0x284f1c)" * (cast_expression "(code **)(pcVar39 + 0x284f1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f1c)" ( (binary_expression "pcVar39 + 0x284f1c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "iVar51 = puVar6[7];" (assignment_expression "iVar51 = puVar6[7]" identifier = (subscript_expression "puVar6[7]" identifier [ number_literal ])) ;) (expression_statement "pdVar34 = pdVar13;" (assignment_expression "pdVar34 = pdVar13" identifier = identifier) ;) (if_statement "if (iStack_248 + 1 < iVar51) {\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }" if (parenthesized_expression "(iStack_248 + 1 < iVar51)" ( (binary_expression "iStack_248 + 1 < iVar51" (binary_expression "iStack_248 + 1" identifier + number_literal) < identifier) )) (compound_statement "{\n          iVar14 = *(int *)(pcVar39 + 0x2848d4);\n          *pdVar13 = (double)in_a3;\n          pdVar13[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar14 + 0x1438);\n          pdVar13[1] = (double)iStack_248;\n          pdVar13[3] = dVar41;\n          pdVar34 = pdVar13 + 4;\n        }" { (expression_statement "iVar14 = *(int *)(pcVar39 + 0x2848d4);" (assignment_expression "iVar14 = *(int *)(pcVar39 + 0x2848d4)" identifier = (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) ))))) ;) (expression_statement "*pdVar13 = (double)in_a3;" (assignment_expression "*pdVar13 = (double)in_a3" (pointer_expression "*pdVar13" * identifier) = (cast_expression "(double)in_a3" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar13[2] = (double)in_a3;" (assignment_expression "pdVar13[2] = (double)in_a3" (subscript_expression "pdVar13[2]" identifier [ number_literal ]) = (cast_expression "(double)in_a3" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar41 = *(double *)(iVar14 + 0x1438);" (assignment_expression "dVar41 = *(double *)(iVar14 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar14 + 0x1438)" * (cast_expression "(double *)(iVar14 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1438)" ( (binary_expression "iVar14 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "pdVar13[1] = (double)iStack_248;" (assignment_expression "pdVar13[1] = (double)iStack_248" (subscript_expression "pdVar13[1]" identifier [ number_literal ]) = (cast_expression "(double)iStack_248" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar13[3] = dVar41;" (assignment_expression "pdVar13[3] = dVar41" (subscript_expression "pdVar13[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pdVar34 = pdVar13 + 4;" (assignment_expression "pdVar34 = pdVar13 + 4" identifier = (binary_expression "pdVar13 + 4" identifier + number_literal)) ;) })) (expression_statement "pdVar15 = pdVar13 + 0x200000;" (assignment_expression "pdVar15 = pdVar13 + 0x200000" identifier = (binary_expression "pdVar13 + 0x200000" identifier + number_literal)) ;) (if_statement "if (pdVar15 <= pdVar34) {\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }" if (parenthesized_expression "(pdVar15 <= pdVar34)" ( (binary_expression "pdVar15 <= pdVar34" identifier <= identifier) )) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          uVar28 = 0xd4;\n          goto LAB_00124ee4;\n        }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar28 = 0xd4;" (assignment_expression "uVar28 = 0xd4" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) })) (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x2852a8);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x2852a8)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x2852a8)" * (cast_expression "(code **)(pcVar39 + 0x2852a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2852a8)" ( (binary_expression "pcVar39 + 0x2852a8" identifier + number_literal) ))))) ;) (expression_statement "pdVar33 = pdVar34;" (assignment_expression "pdVar33 = pdVar34" identifier = identifier) ;) (if_statement "if (iStack_248 < iVar51) {\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }" if (parenthesized_expression "(iStack_248 < iVar51)" ( (binary_expression "iStack_248 < iVar51" identifier < identifier) )) (compound_statement "{\n          iVar51 = *(int *)(pcVar39 + 0x2848d4);\n          pdVar33 = pdVar34 + 4;\n          *pdVar34 = (double)in_a3;\n          pdVar34[2] = (double)in_a3;\n          dVar41 = *(double *)(iVar51 + 0x1a78);\n          pdVar34[1] = (double)(iStack_248 + 1);\n          pdVar34[3] = dVar41;\n        }" { (expression_statement "iVar51 = *(int *)(pcVar39 + 0x2848d4);" (assignment_expression "iVar51 = *(int *)(pcVar39 + 0x2848d4)" identifier = (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) ))))) ;) (expression_statement "pdVar33 = pdVar34 + 4;" (assignment_expression "pdVar33 = pdVar34 + 4" identifier = (binary_expression "pdVar34 + 4" identifier + number_literal)) ;) (expression_statement "*pdVar34 = (double)in_a3;" (assignment_expression "*pdVar34 = (double)in_a3" (pointer_expression "*pdVar34" * identifier) = (cast_expression "(double)in_a3" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar34[2] = (double)in_a3;" (assignment_expression "pdVar34[2] = (double)in_a3" (subscript_expression "pdVar34[2]" identifier [ number_literal ]) = (cast_expression "(double)in_a3" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar41 = *(double *)(iVar51 + 0x1a78);" (assignment_expression "dVar41 = *(double *)(iVar51 + 0x1a78)" identifier = (pointer_expression "*(double *)(iVar51 + 0x1a78)" * (cast_expression "(double *)(iVar51 + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1a78)" ( (binary_expression "iVar51 + 0x1a78" identifier + number_literal) ))))) ;) (expression_statement "pdVar34[1] = (double)(iStack_248 + 1);" (assignment_expression "pdVar34[1] = (double)(iStack_248 + 1)" (subscript_expression "pdVar34[1]" identifier [ number_literal ]) = (cast_expression "(double)(iStack_248 + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(iStack_248 + 1)" ( (binary_expression "iStack_248 + 1" identifier + number_literal) )))) ;) (expression_statement "pdVar34[3] = dVar41;" (assignment_expression "pdVar34[3] = dVar41" (subscript_expression "pdVar34[3]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(*pcVar40)(puVar6,&uStack_310);" (call_expression "(*pcVar40)(puVar6,&uStack_310)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(puVar6,&uStack_310)" ( identifier , (pointer_expression "&uStack_310" & identifier) ))) ;) (expression_statement "uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);" (assignment_expression "uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285748))" ( (pointer_expression "**(code **)(pcVar39 + 0x285748)" * (pointer_expression "*(code **)(pcVar39 + 0x285748)" * (cast_expression "(code **)(pcVar39 + 0x285748)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285748)" ( (binary_expression "pcVar39 + 0x285748" identifier + number_literal) ))))) )) (argument_list "(puVar6,pcVar38)" ( identifier , identifier )))) ;) (expression_statement "uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);" (assignment_expression "uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284ec8))" ( (pointer_expression "**(code **)(pcVar39 + 0x284ec8)" * (pointer_expression "*(code **)(pcVar39 + 0x284ec8)" * (cast_expression "(code **)(pcVar39 + 0x284ec8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284ec8)" ( (binary_expression "pcVar39 + 0x284ec8" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar38)" ( identifier , identifier )))) ;) (if_statement "if (pdVar13 < pdVar33) {\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }" if (parenthesized_expression "(pdVar13 < pdVar33)" ( (binary_expression "pdVar13 < pdVar33" identifier < identifier) )) (compound_statement "{\n          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = dVar46;\n          dVar48 = dVar46;\n          do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);\n        }" { (expression_statement "dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);" (assignment_expression "dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x2848d4) + 0x1a58)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1a58" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar41 = dVar46;" (assignment_expression "dVar41 = dVar46" identifier = identifier) ;) (expression_statement "dVar48 = dVar46;" (assignment_expression "dVar48 = dVar46" identifier = identifier) ;) (do_statement "do {\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          } while (pdVar13 < pdVar34);" do (compound_statement "{\n            pdVar34 = pdVar33 + -4;\n            uVar23 = (uint)pdVar33[-4];\n            iVar45 = (int)pdVar33[-1];\n            iVar44 = (int)pdVar33[-3];\n            iVar42 = (int)pdVar33[-2];\n            uVar10 = uVar23 + 1;\n            iVar51 = iVar44 + iVar45;\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);\n            puVar18 = puStack_244;\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;\n            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;\n            uVar36 = uVar23;\n            if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar36 + 1;\n            if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar33 = pdVar34;\n          }" { (expression_statement "pdVar34 = pdVar33 + -4;" (assignment_expression "pdVar34 = pdVar33 + -4" identifier = (binary_expression "pdVar33 + -4" identifier + number_literal)) ;) (expression_statement "uVar23 = (uint)pdVar33[-4];" (assignment_expression "uVar23 = (uint)pdVar33[-4]" identifier = (cast_expression "(uint)pdVar33[-4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pdVar33[-4]" identifier [ number_literal ]))) ;) (expression_statement "iVar45 = (int)pdVar33[-1];" (assignment_expression "iVar45 = (int)pdVar33[-1]" identifier = (cast_expression "(int)pdVar33[-1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar33[-1]" identifier [ number_literal ]))) ;) (expression_statement "iVar44 = (int)pdVar33[-3];" (assignment_expression "iVar44 = (int)pdVar33[-3]" identifier = (cast_expression "(int)pdVar33[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar33[-3]" identifier [ number_literal ]))) ;) (expression_statement "iVar42 = (int)pdVar33[-2];" (assignment_expression "iVar42 = (int)pdVar33[-2]" identifier = (cast_expression "(int)pdVar33[-2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar33[-2]" identifier [ number_literal ]))) ;) (expression_statement "uVar10 = uVar23 + 1;" (assignment_expression "uVar10 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar51 = iVar44 + iVar45;" (assignment_expression "iVar51 = iVar44 + iVar45" identifier = (binary_expression "iVar44 + iVar45" identifier + identifier)) ;) (expression_statement "iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);" (assignment_expression "iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285650))" ( (pointer_expression "**(code **)(pcVar39 + 0x285650)" * (pointer_expression "*(code **)(pcVar39 + 0x285650)" * (cast_expression "(code **)(pcVar39 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285650)" ( (binary_expression "pcVar39 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar28,0,iVar51,uVar10,1,pcVar38)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);" (assignment_expression "iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285640))" ( (pointer_expression "**(code **)(pcVar39 + 0x285640)" * (pointer_expression "*(code **)(pcVar39 + 0x285640)" * (cast_expression "(code **)(pcVar39 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285640)" ( (binary_expression "pcVar39 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar16,0,iVar51,uVar10,1,pcVar38)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar18 = puStack_244;" (assignment_expression "puVar18 = puStack_244" identifier = identifier) ;) (if_statement "if ((iVar14 == 0) || (iVar17 == 0)) break;" if (parenthesized_expression "((iVar14 == 0) || (iVar17 == 0))" ( (binary_expression "(iVar14 == 0) || (iVar17 == 0)" (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;" (assignment_expression "iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14" identifier = (binary_expression "puVar6[0xb0] * 4 * uVar23 + iVar14" (binary_expression "puVar6[0xb0] * 4 * uVar23" (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal) * identifier) + identifier)) ;) (expression_statement "iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;" (assignment_expression "iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17" identifier = (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar23" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal) * identifier) + identifier)) ;) (expression_statement "uVar36 = uVar23;" (assignment_expression "uVar36 = uVar23" identifier = identifier) ;) (if_statement "if ((int)uVar23 < 0) {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }\n            else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar23 < 0)" ( (binary_expression "(int)uVar23 < 0" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n            }" { (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x2854ec);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00125018:\n              iVar14 = (*pcVar40)(uVar16,pcVar38);" statement_identifier : (expression_statement "iVar14 = (*pcVar40)(uVar16,pcVar38);" (assignment_expression "iVar14 = (*pcVar40)(uVar16,pcVar38)" identifier = (call_expression "(*pcVar40)(uVar16,pcVar38)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(uVar16,pcVar38)" ( identifier , identifier )))) ;)) (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" else (compound_statement "{\n              pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);\n              iVar14 = (*pcVar40)(uVar16,pcVar38);\n              if (iVar14 == 0) break;\n              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;\n              if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" { (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x2854ec);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) ;) (if_statement "if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;" if (parenthesized_expression "(*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)" ( (binary_expression "*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) != number_literal) )) (goto_statement "goto LAB_00125018;" goto statement_identifier ;)) (do_statement "do {\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              } while (*(float *)(iVar17 + iVar20) == 0.0);" do (compound_statement "{\n                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar48;\n                if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }\n                uVar36 = uVar36 - 1;\n                iVar14 = iVar14 + puVar6[0xb0] * -4;\n                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar37 = (undefined4 *)(iVar17 + iVar20);\n                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar37 = (int)uVar49;\n                if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n              }" { (expression_statement "(**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar39 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar39 + 0x284fe8)" * (cast_expression "(code **)(pcVar39 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284fe8)" ( (binary_expression "pcVar39 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar48;" (assignment_expression "dStack_2c8 = dVar48" identifier = identifier) ;) (if_statement "if (iVar14 == 0) {\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }\n                else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                }" { (labeled_statement "LAB_001245ec:\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);" statement_identifier : (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284f78);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284f78)" * (cast_expression "(code **)(pcVar39 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f78)" ( (binary_expression "pcVar39 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" else (compound_statement "{\n                  iVar20 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                  if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }\n                  pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" { (expression_statement "iVar20 = puVar6[0xb4];" (assignment_expression "iVar20 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 8) * 4" identifier + (binary_expression "*(int *)(iVar20 + 8) * 4" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x14) * 4" (pointer_expression "*(int *)(iVar20 + 0x14)" * (cast_expression "(int *)(iVar20 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x14)" ( (binary_expression "iVar20 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x20) * 4" (pointer_expression "*(int *)(iVar20 + 0x20)" * (cast_expression "(int *)(iVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x20)" ( (binary_expression "iVar20 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar20 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }" if (parenthesized_expression "(*(int *)(iVar20 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x28) != 0" (pointer_expression "*(int *)(iVar20 + 0x28)" * (cast_expression "(int *)(iVar20 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x28)" ( (binary_expression "iVar20 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                  }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x2c) * 4" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar20 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }" if (parenthesized_expression "(*(int *)(iVar20 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x34) != 0" (pointer_expression "*(int *)(iVar20 + 0x34)" * (cast_expression "(int *)(iVar20 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x34)" ( (binary_expression "iVar20 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                  }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x38) * 4" (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284f78);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284f78)" * (cast_expression "(code **)(pcVar39 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f78)" ( (binary_expression "pcVar39 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar20 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" if (parenthesized_expression "(*(int *)(iVar20 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x40) != 0" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x44) * 4" (pointer_expression "*(int *)(iVar20 + 0x44)" * (cast_expression "(int *)(iVar20 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x44)" ( (binary_expression "iVar20 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_001245ec;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);" (assignment_expression "puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2)" identifier = (cast_expression "(undefined *)(*pcVar40)(&uStack_310,in_a2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar40)(&uStack_310,in_a2)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&uStack_310,in_a2)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puVar7 == puVar18) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }" if (parenthesized_expression "(puVar7 == puVar18)" ( (binary_expression "puVar7 == puVar18" identifier == identifier) )) (compound_statement "{\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  break;\n                }" { (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x2854ec);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "uVar36 = uVar36 - 1;" (assignment_expression "uVar36 = uVar36 - 1" identifier = (binary_expression "uVar36 - 1" identifier - number_literal)) ;) (expression_statement "iVar14 = iVar14 + puVar6[0xb0] * -4;" (assignment_expression "iVar14 = iVar14 + puVar6[0xb0] * -4" identifier = (binary_expression "iVar14 + puVar6[0xb0] * -4" identifier + (binary_expression "puVar6[0xb0] * -4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier = (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ;) (expression_statement "puVar37 = (undefined4 *)(iVar17 + iVar20);" (assignment_expression "puVar37 = (undefined4 *)(iVar17 + iVar20)" identifier = (cast_expression "(undefined4 *)(iVar17 + iVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar20)" ( (binary_expression "iVar17 + iVar20" identifier + identifier) )))) ;) (expression_statement "iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4" identifier = (binary_expression "iVar17 + *(int *)(iVar4 + 0x2c0) * -4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * -4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*puVar37 = (int)uVar49;" (assignment_expression "*puVar37 = (int)uVar49" (pointer_expression "*puVar37" * identifier) = (cast_expression "(int)uVar49" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (uVar36 == 0xffffffff) {\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" if (parenthesized_expression "(uVar36 == 0xffffffff)" ( (binary_expression "uVar36 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);\n                  if (iVar14 == 0) goto LAB_0012465c;\n                  uVar25 = uVar23 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" { (expression_statement "iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);" (assignment_expression "iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2854ec))" ( (pointer_expression "**(code **)(pcVar39 + 0x2854ec)" * (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) )) (argument_list "(uVar16,pcVar38)" ( identifier , identifier )))) ;) (if_statement "if (iVar14 == 0) goto LAB_0012465c;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012465c;" goto statement_identifier ;)) (expression_statement "uVar25 = uVar23 >> 0x1f;" (assignment_expression "uVar25 = uVar23 >> 0x1f" identifier = (binary_expression "uVar23 >> 0x1f" identifier >> number_literal)) ;) (goto_statement "goto LAB_00124dbc;" goto statement_identifier ;) })) (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x2854ec);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(float *)(iVar17 + iVar20) == 0.0)" ( (binary_expression "*(float *)(iVar17 + iVar20) == 0.0" (pointer_expression "*(float *)(iVar17 + iVar20)" * (cast_expression "(float *)(iVar17 + iVar20)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar20)" ( (binary_expression "iVar17 + iVar20" identifier + identifier) )))) == number_literal) )) ;) (expression_statement "iVar14 = (*pcVar40)(uVar16,pcVar38);" (assignment_expression "iVar14 = (*pcVar40)(uVar16,pcVar38)" identifier = (call_expression "(*pcVar40)(uVar16,pcVar38)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(uVar16,pcVar38)" ( identifier , identifier )))) ;) (if_statement "if (iVar14 == 0) break;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar25 = (int)uVar36 < (int)uVar23 ^ 1;" (assignment_expression "uVar25 = (int)uVar36 < (int)uVar23 ^ 1" identifier = (binary_expression "(int)uVar36 < (int)uVar23 ^ 1" (binary_expression "(int)uVar36 < (int)uVar23" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ^ number_literal)) ;) (if_statement "if ((int)uVar36 < (int)uVar23 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" if (parenthesized_expression "((int)uVar36 < (int)uVar23 != 0)" ( (binary_expression "(int)uVar36 < (int)uVar23 != 0" (binary_expression "(int)uVar36 < (int)uVar23" (cast_expression "(int)uVar36" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )) (compound_statement "{\nLAB_00124dbc:\n                uStack_390 = uVar36 + 1;\n                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar15 <= pdVar34) goto LAB_001250d8;\n                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }\n                uVar36 = uVar10;\n                if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" { (labeled_statement "LAB_00124dbc:\n                uStack_390 = uVar36 + 1;" statement_identifier : (expression_statement "uStack_390 = uVar36 + 1;" (assignment_expression "uStack_390 = uVar36 + 1" identifier = (binary_expression "uVar36 + 1" identifier + number_literal)) ;)) (if_statement "if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;" if (parenthesized_expression "((int)uVar23 <= (int)uStack_390)" ( (binary_expression "(int)uVar23 <= (int)uStack_390" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00124a40;" goto statement_identifier ;)) (if_statement "if (pdVar15 <= pdVar34) goto LAB_001250d8;" if (parenthesized_expression "(pdVar15 <= pdVar34)" ( (binary_expression "pdVar15 <= pdVar34" identifier <= identifier) )) (goto_statement "goto LAB_001250d8;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }" if (parenthesized_expression "((-1 < iVar44) && (iVar44 < (int)puVar6[7]))" ( (binary_expression "(-1 < iVar44) && (iVar44 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar44)" ( (binary_expression "-1 < iVar44" number_literal < identifier) )) && (parenthesized_expression "(iVar44 < (int)puVar6[7])" ( (binary_expression "iVar44 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                  pdVar33[-4] = (double)(int)uStack_390;\n                  pdVar33[-3] = (double)iVar51;\n                  pdVar33[-2] = (double)(int)(uVar23 - 1);\n                  pdVar33[-1] = (double)-iVar45;\n                  pdVar34 = pdVar33;\n                }" { (expression_statement "pdVar33[-4] = (double)(int)uStack_390;" (assignment_expression "pdVar33[-4] = (double)(int)uStack_390" (subscript_expression "pdVar33[-4]" identifier [ number_literal ]) = (cast_expression "(double)(int)uStack_390" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pdVar33[-3] = (double)iVar51;" (assignment_expression "pdVar33[-3] = (double)iVar51" (subscript_expression "pdVar33[-3]" identifier [ number_literal ]) = (cast_expression "(double)iVar51" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[-2] = (double)(int)(uVar23 - 1);" (assignment_expression "pdVar33[-2] = (double)(int)(uVar23 - 1)" (subscript_expression "pdVar33[-2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar23 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar23 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar33[-1] = (double)-iVar45;" (assignment_expression "pdVar33[-1] = (double)-iVar45" (subscript_expression "pdVar33[-1]" identifier [ number_literal ]) = (cast_expression "(double)-iVar45" ( (type_descriptor "double" primitive_type) ) (unary_expression "-iVar45" - identifier))) ;) (expression_statement "pdVar34 = pdVar33;" (assignment_expression "pdVar34 = pdVar33" identifier = identifier) ;) })) (expression_statement "uVar36 = uVar10;" (assignment_expression "uVar36 = uVar10" identifier = identifier) ;) (if_statement "if (uVar25 == 0) {\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar14 = puVar6[6];\n                  goto LAB_00124a44;\n                }" { (expression_statement "iVar14 = puVar6[6];" (assignment_expression "iVar14 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00124a44;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_0012463c:\n            uVar10 = uVar36 + 1;" statement_identifier : (expression_statement "uVar10 = uVar36 + 1;" (assignment_expression "uVar10 = uVar36 + 1" identifier = (binary_expression "uVar36 + 1" identifier + number_literal)) ;)) (if_statement "if ((int)uVar10 <= iVar42) {\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar10 <= iVar42)" ( (binary_expression "(int)uVar10 <= iVar42" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              iVar17 = (iVar42 - uVar10) + 1;\n              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);\n              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);\n              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" { (expression_statement "iVar17 = (iVar42 - uVar10) + 1;" (assignment_expression "iVar17 = (iVar42 - uVar10) + 1" identifier = (binary_expression "(iVar42 - uVar10) + 1" (parenthesized_expression "(iVar42 - uVar10)" ( (binary_expression "iVar42 - uVar10" identifier - identifier) )) + number_literal)) ;) (expression_statement "iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);" (assignment_expression "iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285650))" ( (pointer_expression "**(code **)(pcVar39 + 0x285650)" * (pointer_expression "*(code **)(pcVar39 + 0x285650)" * (cast_expression "(code **)(pcVar39 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285650)" ( (binary_expression "pcVar39 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar28,uVar10,iVar51,iVar17,1,pcVar38)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);" (assignment_expression "iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285640))" ( (pointer_expression "**(code **)(pcVar39 + 0x285640)" * (pointer_expression "*(code **)(pcVar39 + 0x285640)" * (cast_expression "(code **)(pcVar39 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285640)" ( (binary_expression "pcVar39 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar16,uVar10,iVar51,iVar17,1,pcVar38)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" if (parenthesized_expression "((iVar14 != 0) && (uVar50 = 0, iVar17 != 0))" ( (binary_expression "(iVar14 != 0) && (uVar50 = 0, iVar17 != 0)" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar50 = 0, iVar17 != 0)" ( (comma_expression "uVar50 = 0, iVar17 != 0" (assignment_expression "uVar50 = 0" identifier = number_literal) , (binary_expression "iVar17 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar14 = puVar6[6];\nLAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;\n                iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);\n                iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);\n                puVar18 = puStack_244;\n                if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" { (while_statement "while (uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50) {\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }" while (parenthesized_expression "(uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50)" ( (comma_expression "uStack_390 = uVar10,\n                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50" (assignment_expression "uStack_390 = uVar10" identifier = identifier) , (binary_expression "*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar50" (pointer_expression "*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) == (cast_expression "(float)uVar50" ( (type_descriptor "float" primitive_type) ) identifier))) )) (compound_statement "{\n                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar46;\n                  if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                  if (puStack_244 != puVar18) break;\n                  uVar10 = uVar10 + 1;\n                  iVar14 = iVar14 + puVar6[0xb0] * 4;\n                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar42 < (int)uVar10) goto LAB_0012464c;\n                }" { (expression_statement "(**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar39 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar39 + 0x284fe8)" * (cast_expression "(code **)(pcVar39 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284fe8)" ( (binary_expression "pcVar39 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar46;" (assignment_expression "dStack_2c8 = dVar46" identifier = identifier) ;) (if_statement "if (iVar14 == 0) {\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }\n                  else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                  }" { (labeled_statement "LAB_001249ec:\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);" statement_identifier : (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284f78);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284f78)" * (cast_expression "(code **)(pcVar39 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f78)" ( (binary_expression "pcVar39 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" else (compound_statement "{\n                    iVar20 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                    if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }\n                    pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                    if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" { (expression_statement "iVar20 = puVar6[0xb4];" (assignment_expression "iVar20 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 8) * 4" identifier + (binary_expression "*(int *)(iVar20 + 8) * 4" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x14) * 4" (pointer_expression "*(int *)(iVar20 + 0x14)" * (cast_expression "(int *)(iVar20 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x14)" ( (binary_expression "iVar20 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x20) * 4" (pointer_expression "*(int *)(iVar20 + 0x20)" * (cast_expression "(int *)(iVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x20)" ( (binary_expression "iVar20 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar20 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }" if (parenthesized_expression "(*(int *)(iVar20 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x28) != 0" (pointer_expression "*(int *)(iVar20 + 0x28)" * (cast_expression "(int *)(iVar20 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x28)" ( (binary_expression "iVar20 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                    }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x2c) * 4" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar20 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }" if (parenthesized_expression "(*(int *)(iVar20 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x34) != 0" (pointer_expression "*(int *)(iVar20 + 0x34)" * (cast_expression "(int *)(iVar20 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x34)" ( (binary_expression "iVar20 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                    }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x38) * 4" (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284f78);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284f78)" * (cast_expression "(code **)(pcVar39 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f78)" ( (binary_expression "pcVar39 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar20 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" if (parenthesized_expression "(*(int *)(iVar20 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x40) != 0" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x44) * 4" (pointer_expression "*(int *)(iVar20 + 0x44)" * (cast_expression "(int *)(iVar20 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x44)" ( (binary_expression "iVar20 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_001249ec;" goto statement_identifier ;) })) }))) (expression_statement "puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);" (assignment_expression "puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2)" identifier = (cast_expression "(undefined *)(*pcVar40)(&uStack_310,in_a2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar40)(&uStack_310,in_a2)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&uStack_310,in_a2)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puStack_244 != puVar18) break;" if (parenthesized_expression "(puStack_244 != puVar18)" ( (binary_expression "puStack_244 != puVar18" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = iVar14 + puVar6[0xb0] * 4;" (assignment_expression "iVar14 = iVar14 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar14 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar17 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (iVar42 < (int)uVar10) goto LAB_0012464c;" if (parenthesized_expression "(iVar42 < (int)uVar10)" ( (binary_expression "iVar42 < (int)uVar10" identifier < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0012464c;" goto statement_identifier ;)) })) (labeled_statement "LAB_00124a40:\n                iVar14 = puVar6[6];" statement_identifier : (expression_statement "iVar14 = puVar6[6];" (assignment_expression "iVar14 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00124a44:\n                if (iVar14 <= (int)uVar10) goto LAB_00124a50;" statement_identifier : (if_statement "if (iVar14 <= (int)uVar10) goto LAB_00124a50;" if (parenthesized_expression "(iVar14 <= (int)uVar10)" ( (binary_expression "iVar14 <= (int)uVar10" identifier <= (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00124a50;" goto statement_identifier ;))) (expression_statement "iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);" (assignment_expression "iVar14 = (**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285650))\n                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285650))" ( (pointer_expression "**(code **)(pcVar39 + 0x285650)" * (pointer_expression "*(code **)(pcVar39 + 0x285650)" * (cast_expression "(code **)(pcVar39 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285650)" ( (binary_expression "pcVar39 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38)" ( identifier , identifier , identifier , (binary_expression "iVar14 - uVar10" identifier - identifier) , number_literal , identifier )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);" (assignment_expression "iVar17 = (**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285640))\n                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285640))" ( (pointer_expression "**(code **)(pcVar39 + 0x285640)" * (pointer_expression "*(code **)(pcVar39 + 0x285640)" * (cast_expression "(code **)(pcVar39 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285640)" ( (binary_expression "pcVar39 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38)" ( identifier , identifier , identifier , (binary_expression "puVar6[6] - uVar10" (subscript_expression "puVar6[6]" identifier [ number_literal ]) - identifier) , number_literal , identifier )))) ;) (expression_statement "puVar18 = puStack_244;" (assignment_expression "puVar18 = puStack_244" identifier = identifier) ;) (if_statement "if ((iVar14 != 0) && (iVar17 != 0)) {\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" if (parenthesized_expression "((iVar14 != 0) && (iVar17 != 0))" ( (binary_expression "(iVar14 != 0) && (iVar17 != 0)" (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" { (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x2854ec);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) ;) (if_statement "if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" if (parenthesized_expression "(((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0))" ( (binary_expression "((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" (parenthesized_expression "((int)uVar10 < (int)puVar6[6])" ( (binary_expression "(int)uVar10 < (int)puVar6[6]" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ]))) )) && (parenthesized_expression "(uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" ( (comma_expression "uVar50 = 0,\n                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (assignment_expression "uVar50 = 0" identifier = number_literal) , (binary_expression "*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (pointer_expression "*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) == number_literal)) ))) )) (compound_statement "{\n                    do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" { (do_statement "do {\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    } while( true );" do (compound_statement "{\n                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar41;\n                      if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);\n                      if (puVar18 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar26 = puVar6[6];\n                      iVar14 = iVar14 + puVar6[0xb0] * 4;\n                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar37 = (undefined4 *)(iVar17 + iVar20);\n                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar37 = (int)uVar47;\n                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;\n                    }" { (expression_statement "(**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar39 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar39 + 0x284fe8)" * (cast_expression "(code **)(pcVar39 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284fe8)" ( (binary_expression "pcVar39 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar41;" (assignment_expression "dStack_2c8 = dVar41" identifier = identifier) ;) (if_statement "if (iVar14 == 0) {\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }\n                      else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                      }" { (labeled_statement "LAB_00124d38:\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);" statement_identifier : (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284f78);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284f78)" * (cast_expression "(code **)(pcVar39 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f78)" ( (binary_expression "pcVar39 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" else (compound_statement "{\n                        iVar20 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);\n                        if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }\n                        pcVar40 = *(code **)(pcVar39 + 0x284f78);\n                        if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" { (expression_statement "iVar20 = puVar6[0xb4];" (assignment_expression "iVar20 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 8) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 8) * 4" identifier + (binary_expression "*(int *)(iVar20 + 8) * 4" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x14) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x14) * 4" (pointer_expression "*(int *)(iVar20 + 0x14)" * (cast_expression "(int *)(iVar20 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x14)" ( (binary_expression "iVar20 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x20) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x20) * 4" (pointer_expression "*(int *)(iVar20 + 0x20)" * (cast_expression "(int *)(iVar20 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x20)" ( (binary_expression "iVar20 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar20 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x28) != 0" (pointer_expression "*(int *)(iVar20 + 0x28)" * (cast_expression "(int *)(iVar20 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x28)" ( (binary_expression "iVar20 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);\n                        }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x2c) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x2c) * 4" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar20 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x34) != 0" (pointer_expression "*(int *)(iVar20 + 0x34)" * (cast_expression "(int *)(iVar20 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x34)" ( (binary_expression "iVar20 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);\n                        }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x38) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x38) * 4" (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x284f78);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x284f78)" * (cast_expression "(code **)(pcVar39 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f78)" ( (binary_expression "pcVar39 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar20 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x40) != 0" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar20 + 0x44) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar20 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar20 + 0x44) * 4" (pointer_expression "*(int *)(iVar20 + 0x44)" * (cast_expression "(int *)(iVar20 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x44)" ( (binary_expression "iVar20 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_00124d38;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);" (assignment_expression "puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2)" identifier = (cast_expression "(undefined *)(*pcVar40)(&uStack_310,in_a2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar40)(&uStack_310,in_a2)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&uStack_310,in_a2)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puVar18 == puVar7) goto LAB_00124d50;" if (parenthesized_expression "(puVar18 == puVar7)" ( (binary_expression "puVar18 == puVar7" identifier == identifier) )) (goto_statement "goto LAB_00124d50;" goto statement_identifier ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar26 = puVar6[6];" (assignment_expression "iVar26 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = iVar14 + puVar6[0xb0] * 4;" (assignment_expression "iVar14 = iVar14 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar14 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier = (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ;) (expression_statement "puVar37 = (undefined4 *)(iVar17 + iVar20);" (assignment_expression "puVar37 = (undefined4 *)(iVar17 + iVar20)" identifier = (cast_expression "(undefined4 *)(iVar17 + iVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar20)" ( (binary_expression "iVar17 + iVar20" identifier + identifier) )))) ;) (expression_statement "iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar17 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*puVar37 = (int)uVar47;" (assignment_expression "*puVar37 = (int)uVar47" (pointer_expression "*puVar37" * identifier) = (cast_expression "(int)uVar47" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))\n                      goto LAB_00124d50;" if (parenthesized_expression "((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))" ( (binary_expression "(iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50)" (parenthesized_expression "(iVar26 <= (int)uVar10)" ( (binary_expression "iVar26 <= (int)uVar10" identifier <= (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(*(float *)(iVar17 + iVar20) != (float)uVar50)" ( (binary_expression "*(float *)(iVar17 + iVar20) != (float)uVar50" (pointer_expression "*(float *)(iVar17 + iVar20)" * (cast_expression "(float *)(iVar17 + iVar20)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar20)" ( (binary_expression "iVar17 + iVar20" identifier + identifier) )))) != (cast_expression "(float)uVar50" ( (type_descriptor "float" primitive_type) ) identifier)) ))) )) (goto_statement "goto LAB_00124d50;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00124d60;" goto statement_identifier ;) })) })) })) (labeled_statement "LAB_0012464c:\n            pdVar33 = pdVar34;" statement_identifier : (expression_statement "pdVar33 = pdVar34;" (assignment_expression "pdVar33 = pdVar34" identifier = identifier) ;)) }) while (parenthesized_expression "(pdVar13 < pdVar34)" ( (binary_expression "pdVar13 < pdVar34" identifier < identifier) )) ;) })) (labeled_statement "LAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }" statement_identifier : (if_statement "if (0 < (int)puVar6[7]) {\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }" if (parenthesized_expression "(0 < (int)puVar6[7])" ( (binary_expression "0 < (int)puVar6[7]" number_literal < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar51 = 0;\n          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);\n          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);\n          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);\n          while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }\n        }" { (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (expression_statement "uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);" (assignment_expression "dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x2848d4) + 0x13f8)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x13f8" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);" (assignment_expression "dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440)" * (cast_expression "(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar39 + 0x2848d4) + 0x1440)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1440" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (while_statement "while( true ) {\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);\n            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);\n            if ((iVar14 == 0) || (iVar17 == 0)) break;\n            iVar42 = puVar6[6];\n            iVar44 = 0;\n            if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);\n            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;\n          }" { (expression_statement "iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);" (assignment_expression "iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285650))" ( (pointer_expression "**(code **)(pcVar39 + 0x285650)" * (pointer_expression "*(code **)(pcVar39 + 0x285650)" * (cast_expression "(code **)(pcVar39 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285650)" ( (binary_expression "pcVar39 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar16,0,iVar51,puVar6[6],1,pcVar38)" ( identifier , number_literal , identifier , (subscript_expression "puVar6[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);" (assignment_expression "iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285640))" ( (pointer_expression "**(code **)(pcVar39 + 0x285640)" * (pointer_expression "*(code **)(pcVar39 + 0x285640)" * (cast_expression "(code **)(pcVar39 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285640)" ( (binary_expression "pcVar39 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar28,0,iVar51,puVar6[6],1,pcVar38)" ( identifier , number_literal , identifier , (subscript_expression "puVar6[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if ((iVar14 == 0) || (iVar17 == 0)) break;" if (parenthesized_expression "((iVar14 == 0) || (iVar17 == 0))" ( (binary_expression "(iVar14 == 0) || (iVar17 == 0)" (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar42 = puVar6[6];" (assignment_expression "iVar42 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar42) {\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" if (parenthesized_expression "(0 < iVar42)" ( (binary_expression "0 < iVar42" number_literal < identifier) )) (compound_statement "{\n              iVar45 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" { (expression_statement "iVar45 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar45 = *(int *)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar17 = iVar17 + puVar6[0xb0] * 4;\n                if (iVar42 <= iVar44) break;\n                iVar45 = *(int *)(iVar4 + 0x2d0);\n              }" { (if_statement "if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }" if (parenthesized_expression "(*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0)" ( (binary_expression "*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4)" * (cast_expression "(float *)(iVar14 + *(int *)(iVar45 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + *(int *)(iVar45 + 8) * 4)" ( (binary_expression "iVar14 + *(int *)(iVar45 + 8) * 4" identifier + (binary_expression "*(int *)(iVar45 + 8) * 4" (pointer_expression "*(int *)(iVar45 + 8)" * (cast_expression "(int *)(iVar45 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 8)" ( (binary_expression "iVar45 + 8" identifier + number_literal) )))) * number_literal)) )))) != number_literal) )) (compound_statement "{\n                  iVar45 = *(int *)(in_a1 + 0x1a8);\n                  if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }\n                  iVar45 = puVar6[0xb4];\n                  iVar26 = *(int *)(iVar45 + 0x14);\n                  iVar20 = *(int *)(iVar45 + 0x20);\n                  iVar27 = *(int *)(iVar45 + 0x28);\n                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;\n                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;\n                  if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }\n                }" { (expression_statement "iVar45 = *(int *)(in_a1 + 0x1a8);" (assignment_expression "iVar45 = *(int *)(in_a1 + 0x1a8)" identifier = (pointer_expression "*(int *)(in_a1 + 0x1a8)" * (cast_expression "(int *)(in_a1 + 0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x1a8)" ( (binary_expression "in_a1 + 0x1a8" identifier + number_literal) ))))) ;) (if_statement "if (iVar45 == 0) {\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }\n                  else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }" if (parenthesized_expression "(iVar45 == 0)" ( (binary_expression "iVar45 == 0" identifier == number_literal) )) (compound_statement "{\n                    piVar52 = (int *)(in_a1 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));\n                    iVar45 = *piVar52;\n                    piVar21[5] = piVar19[5];\n                    piVar21[4] = iVar45;\n                  }" { (expression_statement "piVar52 = (int *)(in_a1 + 0x48);" (assignment_expression "piVar52 = (int *)(in_a1 + 0x48)" identifier = (cast_expression "(int *)(in_a1 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x48)" ( (binary_expression "in_a1 + 0x48" identifier + number_literal) )))) ;) (expression_statement "piVar2 = aiStack_368;" (assignment_expression "piVar2 = aiStack_368" identifier = identifier) ;) (do_statement "do {\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    } while (piVar52 != (int *)(in_a1 + 0x98));" do (compound_statement "{\n                      piVar21 = piVar2;\n                      piVar19 = piVar52;\n                      piVar52 = piVar19 + 4;\n                      iVar26 = piVar19[2];\n                      iVar45 = piVar19[3];\n                      iVar20 = *piVar19;\n                      piVar21[1] = piVar19[1];\n                      piVar21[2] = iVar26;\n                      *piVar21 = iVar20;\n                      piVar21[3] = iVar45;\n                      piVar2 = piVar21 + 4;\n                    }" { (expression_statement "piVar21 = piVar2;" (assignment_expression "piVar21 = piVar2" identifier = identifier) ;) (expression_statement "piVar19 = piVar52;" (assignment_expression "piVar19 = piVar52" identifier = identifier) ;) (expression_statement "piVar52 = piVar19 + 4;" (assignment_expression "piVar52 = piVar19 + 4" identifier = (binary_expression "piVar19 + 4" identifier + number_literal)) ;) (expression_statement "iVar26 = piVar19[2];" (assignment_expression "iVar26 = piVar19[2]" identifier = (subscript_expression "piVar19[2]" identifier [ number_literal ])) ;) (expression_statement "iVar45 = piVar19[3];" (assignment_expression "iVar45 = piVar19[3]" identifier = (subscript_expression "piVar19[3]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = *piVar19;" (assignment_expression "iVar20 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "piVar21[1] = piVar19[1];" (assignment_expression "piVar21[1] = piVar19[1]" (subscript_expression "piVar21[1]" identifier [ number_literal ]) = (subscript_expression "piVar19[1]" identifier [ number_literal ])) ;) (expression_statement "piVar21[2] = iVar26;" (assignment_expression "piVar21[2] = iVar26" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar21 = iVar20;" (assignment_expression "*piVar21 = iVar20" (pointer_expression "*piVar21" * identifier) = identifier) ;) (expression_statement "piVar21[3] = iVar45;" (assignment_expression "piVar21[3] = iVar45" (subscript_expression "piVar21[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2 = piVar21 + 4;" (assignment_expression "piVar2 = piVar21 + 4" identifier = (binary_expression "piVar21 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar52 != (int *)(in_a1 + 0x98))" ( (binary_expression "piVar52 != (int *)(in_a1 + 0x98)" identifier != (cast_expression "(int *)(in_a1 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x98)" ( (binary_expression "in_a1 + 0x98" identifier + number_literal) )))) )) ;) (expression_statement "iVar45 = *piVar52;" (assignment_expression "iVar45 = *piVar52" identifier = (pointer_expression "*piVar52" * identifier)) ;) (expression_statement "piVar21[5] = piVar19[5];" (assignment_expression "piVar21[5] = piVar19[5]" (subscript_expression "piVar21[5]" identifier [ number_literal ]) = (subscript_expression "piVar19[5]" identifier [ number_literal ])) ;) (expression_statement "piVar21[4] = iVar45;" (assignment_expression "piVar21[4] = iVar45" (subscript_expression "piVar21[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }" else (compound_statement "{\n                    (**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);\n                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }\n                  }" { (expression_statement "(**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);" (call_expression "(**(code **)(pcVar39 + 0x285410))\n                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x285410))" ( (pointer_expression "**(code **)(pcVar39 + 0x285410)" * (pointer_expression "*(code **)(pcVar39 + 0x285410)" * (cast_expression "(code **)(pcVar39 + 0x285410)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285410)" ( (binary_expression "pcVar39 + 0x285410" identifier + number_literal) ))))) )) (argument_list "(iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),\n                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38)" ( identifier , number_literal , (binary_expression "iVar44 + *(int *)(iVar45 + 0x298)" identifier + (pointer_expression "*(int *)(iVar45 + 0x298)" * (cast_expression "(int *)(iVar45 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x298)" ( (binary_expression "iVar45 + 0x298" identifier + number_literal) ))))) , (binary_expression "iVar51 + *(int *)(iVar45 + 0x29c)" identifier + (pointer_expression "*(int *)(iVar45 + 0x29c)" * (cast_expression "(int *)(iVar45 + 0x29c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x29c)" ( (binary_expression "iVar45 + 0x29c" identifier + number_literal) ))))) , identifier , identifier ))) ;) (if_statement "if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }\n                    else {\n                      iVar42 = puVar6[6];\n                    }" if (parenthesized_expression "(dVar41 <= ABS(*(double *)(in_a1 + 0x398)))" ( (binary_expression "dVar41 <= ABS(*(double *)(in_a1 + 0x398))" identifier <= (call_expression "ABS(*(double *)(in_a1 + 0x398))" identifier (argument_list "(*(double *)(in_a1 + 0x398))" ( (pointer_expression "*(double *)(in_a1 + 0x398)" * (cast_expression "(double *)(in_a1 + 0x398)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x398)" ( (binary_expression "in_a1 + 0x398" identifier + number_literal) )))) )))) )) (compound_statement "{\n                      iVar42 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;\n                    }" { (expression_statement "iVar42 = puVar6[6];" (assignment_expression "iVar42 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;" (assignment_expression "dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48" identifier = (binary_expression "dStack_320 * *(double *)(in_a1 + 0x398) * dVar48" (binary_expression "dStack_320 * *(double *)(in_a1 + 0x398)" identifier * (pointer_expression "*(double *)(in_a1 + 0x398)" * (cast_expression "(double *)(in_a1 + 0x398)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x398)" ( (binary_expression "in_a1 + 0x398" identifier + number_literal) ))))) * identifier)) ;) }) (else_clause "else {\n                      iVar42 = puVar6[6];\n                    }" else (compound_statement "{\n                      iVar42 = puVar6[6];\n                    }" { (expression_statement "iVar42 = puVar6[6];" (assignment_expression "iVar42 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) }))) }))) (expression_statement "iVar45 = puVar6[0xb4];" (assignment_expression "iVar45 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar26 = *(int *)(iVar45 + 0x14);" (assignment_expression "iVar26 = *(int *)(iVar45 + 0x14)" identifier = (pointer_expression "*(int *)(iVar45 + 0x14)" * (cast_expression "(int *)(iVar45 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x14)" ( (binary_expression "iVar45 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar45 + 0x20);" (assignment_expression "iVar20 = *(int *)(iVar45 + 0x20)" identifier = (pointer_expression "*(int *)(iVar45 + 0x20)" * (cast_expression "(int *)(iVar45 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x20)" ( (binary_expression "iVar45 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(iVar45 + 0x28);" (assignment_expression "iVar27 = *(int *)(iVar45 + 0x28)" identifier = (pointer_expression "*(int *)(iVar45 + 0x28)" * (cast_expression "(int *)(iVar45 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x28)" ( (binary_expression "iVar45 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;" (assignment_expression "*(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340" (pointer_expression "*(float *)(iVar17 + *(int *)(iVar45 + 8) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar45 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar45 + 8) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar45 + 8) * 4" identifier + (binary_expression "*(int *)(iVar45 + 8) * 4" (pointer_expression "*(int *)(iVar45 + 8)" * (cast_expression "(int *)(iVar45 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 8)" ( (binary_expression "iVar45 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dStack_340" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;" (assignment_expression "*(float *)(iVar17 + iVar26 * 4) = (float)dStack_338" (pointer_expression "*(float *)(iVar17 + iVar26 * 4)" * (cast_expression "(float *)(iVar17 + iVar26 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar26 * 4)" ( (binary_expression "iVar17 + iVar26 * 4" identifier + (binary_expression "iVar26 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dStack_338" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;" (assignment_expression "*(float *)(iVar17 + iVar20 * 4) = (float)dStack_330" (pointer_expression "*(float *)(iVar17 + iVar20 * 4)" * (cast_expression "(float *)(iVar17 + iVar20 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + iVar20 * 4)" ( (binary_expression "iVar17 + iVar20 * 4" identifier + (binary_expression "iVar20 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dStack_330" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar27 != 0) {\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;\n                  }" { (expression_statement "*(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;" (assignment_expression "*(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328" (pointer_expression "*(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar45 + 0x2c) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar45 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar45 + 0x2c) * 4" (pointer_expression "*(int *)(iVar45 + 0x2c)" * (cast_expression "(int *)(iVar45 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x2c)" ( (binary_expression "iVar45 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dStack_328" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (if_statement "if (*(int *)(iVar45 + 0x34) != 0) {\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }" if (parenthesized_expression "(*(int *)(iVar45 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar45 + 0x34) != 0" (pointer_expression "*(int *)(iVar45 + 0x34)" * (cast_expression "(int *)(iVar45 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x34)" ( (binary_expression "iVar45 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar43 = (float)uVar47;\n                    if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }\n                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;\n                  }" { (expression_statement "fVar43 = (float)uVar47;" (assignment_expression "fVar43 = (float)uVar47" identifier = (cast_expression "(float)uVar47" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (aiStack_368[2] != 0) {\n                      fVar43 = (float)dStack_320;\n                    }" if (parenthesized_expression "(aiStack_368[2] != 0)" ( (binary_expression "aiStack_368[2] != 0" (subscript_expression "aiStack_368[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      fVar43 = (float)dStack_320;\n                    }" { (expression_statement "fVar43 = (float)dStack_320;" (assignment_expression "fVar43 = (float)dStack_320" identifier = (cast_expression "(float)dStack_320" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (expression_statement "*(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;" (assignment_expression "*(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43" (pointer_expression "*(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar45 + 0x38) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar45 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar45 + 0x38) * 4" (pointer_expression "*(int *)(iVar45 + 0x38)" * (cast_expression "(int *)(iVar45 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + 0x38)" ( (binary_expression "iVar45 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) })) (expression_statement "iVar44 = iVar44 + 1;" (assignment_expression "iVar44 = iVar44 + 1" identifier = (binary_expression "iVar44 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar14 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar17 = iVar17 + puVar6[0xb0] * 4;" (assignment_expression "iVar17 = iVar17 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar17 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (if_statement "if (iVar42 <= iVar44) break;" if (parenthesized_expression "(iVar42 <= iVar44)" ( (binary_expression "iVar42 <= iVar44" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar45 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar45 = *(int *)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);" (assignment_expression "iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38)" identifier = (call_expression "(**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2854ec))" ( (pointer_expression "**(code **)(pcVar39 + 0x2854ec)" * (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) )) (argument_list "(uVar28,pcVar38)" ( identifier , identifier )))) ;) (if_statement "if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;" if (parenthesized_expression "((iVar14 == 0) || ((int)puVar6[7] <= iVar51))" ( (binary_expression "(iVar14 == 0) || ((int)puVar6[7] <= iVar51)" (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) || (parenthesized_expression "((int)puVar6[7] <= iVar51)" ( (binary_expression "(int)puVar6[7] <= iVar51" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) <= identifier) ))) )) (break_statement "break;" break ;)) })) }))) (expression_statement "(**(code **)(pcVar39 + 0x284ee8))(uVar16);" (call_expression "(**(code **)(pcVar39 + 0x284ee8))(uVar16)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284ee8))" ( (pointer_expression "**(code **)(pcVar39 + 0x284ee8)" * (pointer_expression "*(code **)(pcVar39 + 0x284ee8)" * (cast_expression "(code **)(pcVar39 + 0x284ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284ee8)" ( (binary_expression "pcVar39 + 0x284ee8" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar39 + 0x284ee8))(uVar28);" (call_expression "(**(code **)(pcVar39 + 0x284ee8))(uVar28)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284ee8))" ( (pointer_expression "**(code **)(pcVar39 + 0x284ee8)" * (pointer_expression "*(code **)(pcVar39 + 0x284ee8)" * (cast_expression "(code **)(pcVar39 + 0x284ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284ee8)" ( (binary_expression "pcVar39 + 0x284ee8" identifier + number_literal) ))))) )) (argument_list "(uVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar39 + 0x28538c))(iVar5);" (call_expression "(**(code **)(pcVar39 + 0x28538c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar39 + 0x28538c))" ( (pointer_expression "**(code **)(pcVar39 + 0x28538c)" * (pointer_expression "*(code **)(pcVar39 + 0x28538c)" * (cast_expression "(code **)(pcVar39 + 0x28538c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x28538c)" ( (binary_expression "pcVar39 + 0x28538c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar39 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar39 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284f40))" ( (pointer_expression "**(code **)(pcVar39 + 0x284f40)" * (pointer_expression "*(code **)(pcVar39 + 0x284f40)" * (cast_expression "(code **)(pcVar39 + 0x284f40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f40)" ( (binary_expression "pcVar39 + 0x284f40" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;) })) (goto_statement "goto LAB_00125064;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);\n  }" else (compound_statement "{\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);\n  }" { (expression_statement "(**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar39 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar39 + 0x2855fc)" * (cast_expression "(code **)(pcVar39 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2855fc)" ( (binary_expression "pcVar39 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar39 + 0x2848dc) + -0x3784" (pointer_expression "*(int *)(pcVar39 + 0x2848dc)" * (cast_expression "(int *)(pcVar39 + 0x2848dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848dc)" ( (binary_expression "pcVar39 + 0x2848dc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00125064:\n    (**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);" statement_identifier : (expression_statement "(**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);" (call_expression "(**(code **)(pcVar39 + 0x2855fc))\n              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar39 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar39 + 0x2855fc)" * (cast_expression "(code **)(pcVar39 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2855fc)" ( (binary_expression "pcVar39 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1158" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "(**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0x1114,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0x1114,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar39 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar39 + 0x2855fc)" * (cast_expression "(code **)(pcVar39 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2855fc)" ( (binary_expression "pcVar39 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar39 + 0x2848d4) + 0x1114,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x1114" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar22 = puVar6;" (assignment_expression "puVar22 = puVar6" identifier = identifier) ;) (labeled_statement "LAB_001250a8:\n  puVar6 = puVar22;" statement_identifier : (expression_statement "puVar6 = puVar22;" (assignment_expression "puVar6 = puVar22" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0xdd0,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar39 + 0x2855fc))\n            (*(int *)(pcVar39 + 0x2848d4) + 0xdd0,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar39 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar39 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar39 + 0x2855fc)" * (cast_expression "(code **)(pcVar39 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2855fc)" ( (binary_expression "pcVar39 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar39 + 0x2848d4) + 0xdd0,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0xdd0" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) do (compound_statement "{\n    (**(code **)(pcVar39 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar39 + 0x284f14))\n              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar35);\n  return;\nLAB_00124d50:\n  pcVar40 = *(code **)(pcVar39 + 0x2854ec);\nLAB_00124d60:\n  iVar14 = (*pcVar40)(uVar16,pcVar38);\n  if (iVar14 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar15 <= pdVar34) {\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar14 = iVar42 + 1;\n  uVar36 = uVar10;\n  if ((iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51)) {\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n  }\n  else {\n    pdVar33 = pdVar34 + 4;\n    *pdVar34 = (double)(int)uStack_390;\n    pdVar34[3] = (double)iVar45;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34 = pdVar33;\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n    if (pdVar15 <= pdVar33) {\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n    *pdVar34 = (double)iVar14;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34[3] = (double)-iVar45;\n    pdVar34 = pdVar34 + 4;\n  }\n  goto LAB_0012463c;\n}" { (expression_statement "(**(code **)(pcVar39 + 0x285058))();" (call_expression "(**(code **)(pcVar39 + 0x285058))()" (parenthesized_expression "(**(code **)(pcVar39 + 0x285058))" ( (pointer_expression "**(code **)(pcVar39 + 0x285058)" * (pointer_expression "*(code **)(pcVar39 + 0x285058)" * (cast_expression "(code **)(pcVar39 + 0x285058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x285058)" ( (binary_expression "pcVar39 + 0x285058" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001250d8:\n    puVar6 = puVar6 + 0xd0;" statement_identifier : (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;)) (expression_statement "uVar28 = 0x107;" (assignment_expression "uVar28 = 0x107" identifier = number_literal) ;) (labeled_statement "LAB_00124ee4:\n    (**(code **)(pcVar39 + 0x284f14))\n              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6);" statement_identifier : (expression_statement "(**(code **)(pcVar39 + 0x284f14))\n              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6);" (call_expression "(**(code **)(pcVar39 + 0x284f14))\n              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6)" (parenthesized_expression "(**(code **)(pcVar39 + 0x284f14))" ( (pointer_expression "**(code **)(pcVar39 + 0x284f14)" * (pointer_expression "*(code **)(pcVar39 + 0x284f14)" * (cast_expression "(code **)(pcVar39 + 0x284f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x284f14)" ( (binary_expression "pcVar39 + 0x284f14" identifier + number_literal) ))))) )) (argument_list "(pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,\n               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6)" ( identifier , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(pcVar39 + 0x2848d8) + 0x2a40" (pointer_expression "*(int *)(pcVar39 + 0x2848d8)" * (cast_expression "(int *)(pcVar39 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d8)" ( (binary_expression "pcVar39 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar39 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar39 + 0x2848d4)" * (cast_expression "(int *)(pcVar39 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar39 + 0x2848d4)" ( (binary_expression "pcVar39 + 0x2848d4" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (labeled_statement "LAB_001240ec:\n  } while (iStack_2b4 != *piVar35);" statement_identifier : (ERROR "}" }) (while_statement "while (iStack_2b4 != *piVar35);" while (parenthesized_expression "(iStack_2b4 != *piVar35)" ( (binary_expression "iStack_2b4 != *piVar35" identifier != (pointer_expression "*piVar35" * identifier)) )) (expression_statement ";" ;))) (return_statement "return;" return ;) (labeled_statement "LAB_00124d50:\n  pcVar40 = *(code **)(pcVar39 + 0x2854ec);" statement_identifier : (expression_statement "pcVar40 = *(code **)(pcVar39 + 0x2854ec);" (assignment_expression "pcVar40 = *(code **)(pcVar39 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar39 + 0x2854ec)" * (cast_expression "(code **)(pcVar39 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar39 + 0x2854ec)" ( (binary_expression "pcVar39 + 0x2854ec" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00124d60:\n  iVar14 = (*pcVar40)(uVar16,pcVar38);" statement_identifier : (expression_statement "iVar14 = (*pcVar40)(uVar16,pcVar38);" (assignment_expression "iVar14 = (*pcVar40)(uVar16,pcVar38)" identifier = (call_expression "(*pcVar40)(uVar16,pcVar38)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(uVar16,pcVar38)" ( identifier , identifier )))) ;)) (if_statement "if (iVar14 == 0) goto LAB_0012464c;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012464c;" goto statement_identifier ;)) (labeled_statement "LAB_00124a50:\n  if (pdVar15 <= pdVar34) {\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x125;\n    goto LAB_00124ee4;\n  }" statement_identifier : (if_statement "if (pdVar15 <= pdVar34) {\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x125;\n    goto LAB_00124ee4;\n  }" if (parenthesized_expression "(pdVar15 <= pdVar34)" ( (binary_expression "pdVar15 <= pdVar34" identifier <= identifier) )) (compound_statement "{\n    puVar6 = puVar6 + 0xd0;\n    uVar28 = 0x125;\n    goto LAB_00124ee4;\n  }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar28 = 0x125;" (assignment_expression "uVar28 = 0x125" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) }))) (expression_statement "iVar14 = iVar42 + 1;" (assignment_expression "iVar14 = iVar42 + 1" identifier = (binary_expression "iVar42 + 1" identifier + number_literal)) ;) (expression_statement "uVar36 = uVar10;" (assignment_expression "uVar36 = uVar10" identifier = identifier) ;) (if_statement "if ((iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51)) {\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n  }\n  else {\n    pdVar33 = pdVar34 + 4;\n    *pdVar34 = (double)(int)uStack_390;\n    pdVar34[3] = (double)iVar45;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34 = pdVar33;\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n    if (pdVar15 <= pdVar33) {\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" if (parenthesized_expression "((iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51))" ( (binary_expression "(iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51)" (parenthesized_expression "(iVar45 + iVar51 < 0)" ( (binary_expression "iVar45 + iVar51 < 0" (binary_expression "iVar45 + iVar51" identifier + identifier) < number_literal) )) || (parenthesized_expression "((int)puVar6[7] <= iVar45 + iVar51)" ( (binary_expression "(int)puVar6[7] <= iVar45 + iVar51" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) <= (binary_expression "iVar45 + iVar51" identifier + identifier)) ))) )) (compound_statement "{\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n  }" { (if_statement "if ((int)uVar10 <= iVar14) goto LAB_0012463c;" if (parenthesized_expression "((int)uVar10 <= iVar14)" ( (binary_expression "(int)uVar10 <= iVar14" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;)) }) (else_clause "else {\n    pdVar33 = pdVar34 + 4;\n    *pdVar34 = (double)(int)uStack_390;\n    pdVar34[3] = (double)iVar45;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34 = pdVar33;\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n    if (pdVar15 <= pdVar33) {\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" else (compound_statement "{\n    pdVar33 = pdVar34 + 4;\n    *pdVar34 = (double)(int)uStack_390;\n    pdVar34[3] = (double)iVar45;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34 = pdVar33;\n    if ((int)uVar10 <= iVar14) goto LAB_0012463c;\n    if (pdVar15 <= pdVar33) {\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" { (expression_statement "pdVar33 = pdVar34 + 4;" (assignment_expression "pdVar33 = pdVar34 + 4" identifier = (binary_expression "pdVar34 + 4" identifier + number_literal)) ;) (expression_statement "*pdVar34 = (double)(int)uStack_390;" (assignment_expression "*pdVar34 = (double)(int)uStack_390" (pointer_expression "*pdVar34" * identifier) = (cast_expression "(double)(int)uStack_390" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pdVar34[3] = (double)iVar45;" (assignment_expression "pdVar34[3] = (double)iVar45" (subscript_expression "pdVar34[3]" identifier [ number_literal ]) = (cast_expression "(double)iVar45" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar34[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar34[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar34[2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar10 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar34[1] = (double)iVar51;" (assignment_expression "pdVar34[1] = (double)iVar51" (subscript_expression "pdVar34[1]" identifier [ number_literal ]) = (cast_expression "(double)iVar51" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar34 = pdVar33;" (assignment_expression "pdVar34 = pdVar33" identifier = identifier) ;) (if_statement "if ((int)uVar10 <= iVar14) goto LAB_0012463c;" if (parenthesized_expression "((int)uVar10 <= iVar14)" ( (binary_expression "(int)uVar10 <= iVar14" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;)) (if_statement "if (pdVar15 <= pdVar33) {\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }" if (parenthesized_expression "(pdVar15 <= pdVar33)" ( (binary_expression "pdVar15 <= pdVar33" identifier <= identifier) )) (compound_statement "{\n      puVar6 = puVar6 + 0xd0;\n      uVar28 = 0x127;\n      goto LAB_00124ee4;\n    }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar28 = 0x127;" (assignment_expression "uVar28 = 0x127" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) })) }))) (if_statement "if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {\n    *pdVar34 = (double)iVar14;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34[3] = (double)-iVar45;\n    pdVar34 = pdVar34 + 4;\n  }" if (parenthesized_expression "((-1 < iVar44) && (iVar44 < (int)puVar6[7]))" ( (binary_expression "(-1 < iVar44) && (iVar44 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar44)" ( (binary_expression "-1 < iVar44" number_literal < identifier) )) && (parenthesized_expression "(iVar44 < (int)puVar6[7])" ( (binary_expression "iVar44 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n    *pdVar34 = (double)iVar14;\n    pdVar34[2] = (double)(int)(uVar10 - 1);\n    pdVar34[1] = (double)iVar51;\n    pdVar34[3] = (double)-iVar45;\n    pdVar34 = pdVar34 + 4;\n  }" { (expression_statement "*pdVar34 = (double)iVar14;" (assignment_expression "*pdVar34 = (double)iVar14" (pointer_expression "*pdVar34" * identifier) = (cast_expression "(double)iVar14" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar34[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar34[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar34[2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar10 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar34[1] = (double)iVar51;" (assignment_expression "pdVar34[1] = (double)iVar51" (subscript_expression "pdVar34[1]" identifier [ number_literal ]) = (cast_expression "(double)iVar51" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar34[3] = (double)-iVar45;" (assignment_expression "pdVar34[3] = (double)-iVar45" (subscript_expression "pdVar34[3]" identifier [ number_literal ]) = (cast_expression "(double)-iVar45" ( (type_descriptor "double" primitive_type) ) (unary_expression "-iVar45" - identifier))) ;) (expression_statement "pdVar34 = pdVar34 + 4;" (assignment_expression "pdVar34 = pdVar34 + 4" identifier = (binary_expression "pdVar34 + 4" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;) })))
(translation_unit "int FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  float **ppfVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  double *pdVar12;\n  int iVar13;\n  double *pdVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined *puVar17;\n  int *piVar18;\n  int iVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  float **ppfVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  undefined4 uVar27;\n  float *pfVar28;\n  float *pfVar29;\n  int *unaff_s0;\n  float *pfVar30;\n  float *pfVar31;\n  double *pdVar32;\n  double *pdVar33;\n  uint unaff_s4;\n  int *piVar34;\n  undefined4 *unaff_s5;\n  float **unaff_s6;\n  uint uVar35;\n  int unaff_s7;\n  undefined4 *puVar36;\n  code *pcVar37;\n  code *pcVar38;\n  code *pcVar39;\n  double dVar40;\n  int iVar41;\n  float fVar42;\n  int iVar43;\n  int iVar44;\n  double in_f20_21;\n  double dVar45;\n  ulonglong uVar46;\n  double in_f22_23;\n  double dVar47;\n  ulonglong uVar48;\n  undefined8 uVar49;\n  int iVar50;\n  int *piVar51;\n  uint uStack_390;\n  int aiStack_368 [10];\n  double dStack_340;\n  double dStack_338;\n  double dStack_330;\n  double dStack_328;\n  double dStack_320;\n  undefined4 uStack_310;\n  undefined4 uStack_30c;\n  undefined4 uStack_308;\n  undefined8 uStack_300;\n  undefined4 uStack_2f8;\n  double dStack_2e8;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  int iStack_2b4;\n  float *pfStack_2b0;\n  int *piStack_2ac;\n  undefined4 *puStack_2a8;\n  undefined4 *puStack_2a4;\n  uint uStack_2a0;\n  undefined4 *puStack_29c;\n  float **ppfStack_298;\n  undefined4 *puStack_294;\n  undefined4 *puStack_290;\n  code *pcStack_28c;\n  double dStack_288;\n  double dStack_280;\n  int iStack_248;\n  undefined *puStack_244;\n  code *pcStack_240;\n  float *pfStack_234;\n  undefined4 *puStack_230;\n  undefined *puStack_22c;\n  int *piStack_228;\n  undefined *puStack_224;\n  float *pfStack_220;\n  undefined4 uStack_21c;\n  undefined4 uStack_218;\n  undefined8 uStack_210;\n  undefined4 uStack_208;\n  double dStack_1f8;\n  double dStack_1f0;\n  double dStack_1e8;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  int iStack_1c4;\n  int *piStack_1c0;\n  float *pfStack_1bc;\n  float *pfStack_1b8;\n  undefined4 *puStack_1b4;\n  uint uStack_1b0;\n  undefined4 *puStack_1ac;\n  float **ppfStack_1a8;\n  undefined4 *puStack_1a4;\n  undefined4 *puStack_1a0;\n  code *pcStack_19c;\n  double dStack_198;\n  double dStack_190;\n  undefined4 uStack_178;\n  undefined *puStack_174;\n  undefined *puStack_170;\n  undefined *puStack_164;\n  int *piStack_160;\n  undefined *puStack_15c;\n  float *apfStack_158 [4];\n  undefined8 uStack_148;\n  undefined4 uStack_140;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_118;\n  double dStack_110;\n  double dStack_108;\n  int iStack_fc;\n  int *piStack_f8;\n  float *pfStack_f4;\n  float *pfStack_f0;\n  undefined4 *puStack_ec;\n  uint uStack_e8;\n  undefined4 *puStack_e4;\n  float **ppfStack_e0;\n  int iStack_dc;\n  undefined4 *puStack_d8;\n  code *pcStack_d4;\n  double dStack_d0;\n  undefined4 local_b8;\n  undefined *local_b4;\n  float *local_98 [4];\n  undefined8 local_88;\n  undefined4 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  int local_3c;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  puVar36 = (undefined4 *)*param_1;\n  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar36[7] / iVar4;\n  iVar4 = (int)puVar36[7] % iVar4;\n  puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }\n  pcVar37 = FUN_00123798;\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_170 = puVar17 + 0x28d118;\n  piStack_160 = *(int **)(puVar17 + 0x285a98);\n  iStack_fc = *piStack_160;\n  puVar6 = (undefined4 *)*puVar21;\n  piStack_f8 = unaff_s0;\n  pfStack_f4 = pfVar30;\n  pfStack_f0 = pfVar31;\n  puStack_ec = param_1;\n  uStack_e8 = unaff_s4;\n  puStack_e4 = unaff_s5;\n  ppfStack_e0 = unaff_s6;\n  iStack_dc = unaff_s7;\n  puStack_d8 = puVar36;\n  pcStack_d4 = pcVar37;\n  dStack_d0 = in_f20_21;\n  iVar4 = (**(code **)(puVar17 + 0x286174))();\n  iVar5 = (**(code **)(puStack_170 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar6[7] / iVar4;\n  iVar4 = (int)puVar6[7] % iVar4;\n  puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  puVar17 = puStack_170;\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }\n  pcVar37 = *(code **)(puVar17 + -0x784c);\n  pcVar38 = FUN_00123c14;\n  (*pcVar37)();\n  pcStack_240 = pcVar37 + 0x28cc9c;\n  piStack_228 = *(int **)(pcVar37 + 0x28561c);\n  iStack_1c4 = *piStack_228;\n  puVar9 = (undefined4 *)*puVar36;\n  piStack_1c0 = unaff_s0;\n  pfStack_1bc = pfVar30;\n  pfStack_1b8 = pfVar31;\n  puStack_1b4 = param_1;\n  uStack_1b0 = unaff_s4;\n  puStack_1ac = unaff_s5;\n  ppfStack_1a8 = unaff_s6;\n  puStack_1a4 = puVar21;\n  puStack_1a0 = puVar6;\n  pcStack_19c = pcVar38;\n  dStack_198 = in_f20_21;\n  dStack_190 = in_f22_23;\n  iVar4 = (**(code **)(pcVar37 + 0x285cf8))();\n  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  piVar51 = (int *)((int)puVar9[7] / iVar4);\n  iVar4 = (int)puVar9[7] % iVar4;\n  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);\n  pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);\n  pcVar37 = pcStack_240;\n  if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }\n  if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }\n  pcVar38 = *(code **)(pcVar37 + -0x784c);\n  pcVar39 = FloodfillPaintImage;\n  (*pcVar38)();\n  pcVar37 = pcStack_240;\n  piVar34 = *(int **)(pcVar38 + 0x285224);\n  iStack_2b4 = *piVar34;\n  pfStack_2b0 = pfVar30;\n  piStack_2ac = piVar51;\n  puStack_2a8 = puVar36;\n  puStack_2a4 = param_1;\n  uStack_2a0 = unaff_s4;\n  puStack_29c = unaff_s5;\n  ppfStack_298 = unaff_s6;\n  puStack_294 = puVar21;\n  puStack_290 = puVar9;\n  pcStack_28c = pcVar39;\n  dStack_288 = in_f20_21;\n  dStack_280 = in_f22_23;\n  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;\n  if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  puVar21 = puVar6;\nLAB_001250a8:\n  puVar6 = puVar21;\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  do {\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}\n\n" (ERROR "int FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  float **ppfVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  double *pdVar12;\n  int iVar13;\n  double *pdVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined *puVar17;\n  int *piVar18;\n  int iVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  float **ppfVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  undefined4 uVar27;\n  float *pfVar28;\n  float *pfVar29;\n  int *unaff_s0;\n  float *pfVar30;\n  float *pfVar31;\n  double *pdVar32;\n  double *pdVar33;\n  uint unaff_s4;\n  int *piVar34;\n  undefined4 *unaff_s5;\n  float **unaff_s6;\n  uint uVar35;\n  int unaff_s7;\n  undefined4 *puVar36;\n  code *pcVar37;\n  code *pcVar38;\n  code *pcVar39;\n  double dVar40;\n  int iVar41;\n  float fVar42;\n  int iVar43;\n  int iVar44;\n  double in_f20_21;\n  double dVar45;\n  ulonglong uVar46;\n  double in_f22_23;\n  double dVar47;\n  ulonglong uVar48;\n  undefined8 uVar49;\n  int iVar50;\n  int *piVar51;\n  uint uStack_390;\n  int aiStack_368 [10];\n  double dStack_340;\n  double dStack_338;\n  double dStack_330;\n  double dStack_328;\n  double dStack_320;\n  undefined4 uStack_310;\n  undefined4 uStack_30c;\n  undefined4 uStack_308;\n  undefined8 uStack_300;\n  undefined4 uStack_2f8;\n  double dStack_2e8;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  int iStack_2b4;\n  float *pfStack_2b0;\n  int *piStack_2ac;\n  undefined4 *puStack_2a8;\n  undefined4 *puStack_2a4;\n  uint uStack_2a0;\n  undefined4 *puStack_29c;\n  float **ppfStack_298;\n  undefined4 *puStack_294;\n  undefined4 *puStack_290;\n  code *pcStack_28c;\n  double dStack_288;\n  double dStack_280;\n  int iStack_248;\n  undefined *puStack_244;\n  code *pcStack_240;\n  float *pfStack_234;\n  undefined4 *puStack_230;\n  undefined *puStack_22c;\n  int *piStack_228;\n  undefined *puStack_224;\n  float *pfStack_220;\n  undefined4 uStack_21c;\n  undefined4 uStack_218;\n  undefined8 uStack_210;\n  undefined4 uStack_208;\n  double dStack_1f8;\n  double dStack_1f0;\n  double dStack_1e8;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  int iStack_1c4;\n  int *piStack_1c0;\n  float *pfStack_1bc;\n  float *pfStack_1b8;\n  undefined4 *puStack_1b4;\n  uint uStack_1b0;\n  undefined4 *puStack_1ac;\n  float **ppfStack_1a8;\n  undefined4 *puStack_1a4;\n  undefined4 *puStack_1a0;\n  code *pcStack_19c;\n  double dStack_198;\n  double dStack_190;\n  undefined4 uStack_178;\n  undefined *puStack_174;\n  undefined *puStack_170;\n  undefined *puStack_164;\n  int *piStack_160;\n  undefined *puStack_15c;\n  float *apfStack_158 [4];\n  undefined8 uStack_148;\n  undefined4 uStack_140;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_118;\n  double dStack_110;\n  double dStack_108;\n  int iStack_fc;\n  int *piStack_f8;\n  float *pfStack_f4;\n  float *pfStack_f0;\n  undefined4 *puStack_ec;\n  uint uStack_e8;\n  undefined4 *puStack_e4;\n  float **ppfStack_e0;\n  int iStack_dc;\n  undefined4 *puStack_d8;\n  code *pcStack_d4;\n  double dStack_d0;\n  undefined4 local_b8;\n  undefined *local_b4;\n  float *local_98 [4];\n  undefined8 local_88;\n  undefined4 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  int local_3c;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  puVar36 = (undefined4 *)*param_1;\n  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar36[7] / iVar4;\n  iVar4 = (int)puVar36[7] % iVar4;\n  puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }\n  pcVar37 = FUN_00123798;\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_170 = puVar17 + 0x28d118;\n  piStack_160 = *(int **)(puVar17 + 0x285a98);\n  iStack_fc = *piStack_160;\n  puVar6 = (undefined4 *)*puVar21;\n  piStack_f8 = unaff_s0;\n  pfStack_f4 = pfVar30;\n  pfStack_f0 = pfVar31;\n  puStack_ec = param_1;\n  uStack_e8 = unaff_s4;\n  puStack_e4 = unaff_s5;\n  ppfStack_e0 = unaff_s6;\n  iStack_dc = unaff_s7;\n  puStack_d8 = puVar36;\n  pcStack_d4 = pcVar37;\n  dStack_d0 = in_f20_21;\n  iVar4 = (**(code **)(puVar17 + 0x286174))();\n  iVar5 = (**(code **)(puStack_170 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar6[7] / iVar4;\n  iVar4 = (int)puVar6[7] % iVar4;\n  puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  puVar17 = puStack_170;\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }\n  pcVar37 = *(code **)(puVar17 + -0x784c);\n  pcVar38 = FUN_00123c14;\n  (*pcVar37)();\n  pcStack_240 = pcVar37 + 0x28cc9c;\n  piStack_228 = *(int **)(pcVar37 + 0x28561c);\n  iStack_1c4 = *piStack_228;\n  puVar9 = (undefined4 *)*puVar36;\n  piStack_1c0 = unaff_s0;\n  pfStack_1bc = pfVar30;\n  pfStack_1b8 = pfVar31;\n  puStack_1b4 = param_1;\n  uStack_1b0 = unaff_s4;\n  puStack_1ac = unaff_s5;\n  ppfStack_1a8 = unaff_s6;\n  puStack_1a4 = puVar21;\n  puStack_1a0 = puVar6;\n  pcStack_19c = pcVar38;\n  dStack_198 = in_f20_21;\n  dStack_190 = in_f22_23;\n  iVar4 = (**(code **)(pcVar37 + 0x285cf8))();\n  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  piVar51 = (int *)((int)puVar9[7] / iVar4);\n  iVar4 = (int)puVar9[7] % iVar4;\n  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);\n  pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);\n  pcVar37 = pcStack_240;\n  if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }\n  if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }\n  pcVar38 = *(code **)(pcVar37 + -0x784c);\n  pcVar39 = FloodfillPaintImage;\n  (*pcVar38)();\n  pcVar37 = pcStack_240;\n  piVar34 = *(int **)(pcVar38 + 0x285224);\n  iStack_2b4 = *piVar34;\n  pfStack_2b0 = pfVar30;\n  piStack_2ac = piVar51;\n  puStack_2a8 = puVar36;\n  puStack_2a4 = param_1;\n  uStack_2a0 = unaff_s4;\n  puStack_29c = unaff_s5;\n  ppfStack_298 = unaff_s6;\n  puStack_294 = puVar21;\n  puStack_290 = puVar9;\n  pcStack_28c = pcVar39;\n  dStack_288 = in_f20_21;\n  dStack_280 = in_f22_23;\n  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;\n  if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  puVar21 = puVar6;\nLAB_001250a8:\n  puVar6 = puVar21;\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  do {\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}" primitive_type (function_declarator "FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)" identifier (parameter_list "(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "float *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "float **ppfVar3;" primitive_type (pointer_declarator "**ppfVar3" * (pointer_declarator "*ppfVar3" * identifier)) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "double *pdVar14;" primitive_type (pointer_declarator "*pdVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "float **ppfVar23;" primitive_type (pointer_declarator "**ppfVar23" * (pointer_declarator "*ppfVar23" * identifier)) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined4 uVar27;" type_identifier identifier ;) (declaration "float *pfVar28;" primitive_type (pointer_declarator "*pfVar28" * identifier) ;) (declaration "float *pfVar29;" primitive_type (pointer_declarator "*pfVar29" * identifier) ;) (declaration "int *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "float *pfVar30;" primitive_type (pointer_declarator "*pfVar30" * identifier) ;) (declaration "float *pfVar31;" primitive_type (pointer_declarator "*pfVar31" * identifier) ;) (declaration "double *pdVar32;" primitive_type (pointer_declarator "*pdVar32" * identifier) ;) (declaration "double *pdVar33;" primitive_type (pointer_declarator "*pdVar33" * identifier) ;) (declaration "uint unaff_s4;" type_identifier identifier ;) (declaration "int *piVar34;" primitive_type (pointer_declarator "*piVar34" * identifier) ;) (declaration "undefined4 *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "float **unaff_s6;" primitive_type (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier)) ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined4 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "code *pcVar39;" type_identifier (pointer_declarator "*pcVar39" * identifier) ;) (declaration "double dVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "float fVar42;" primitive_type identifier ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "double in_f20_21;" primitive_type identifier ;) (declaration "double dVar45;" primitive_type identifier ;) (declaration "ulonglong uVar46;" type_identifier identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar47;" primitive_type identifier ;) (declaration "ulonglong uVar48;" type_identifier identifier ;) (declaration "undefined8 uVar49;" type_identifier identifier ;) (declaration "int iVar50;" primitive_type identifier ;) (declaration "int *piVar51;" primitive_type (pointer_declarator "*piVar51" * identifier) ;) (declaration "uint uStack_390;" type_identifier identifier ;) (declaration "int aiStack_368 [10];" primitive_type (array_declarator "aiStack_368 [10]" identifier [ number_literal ]) ;) (declaration "double dStack_340;" primitive_type identifier ;) (declaration "double dStack_338;" primitive_type identifier ;) (declaration "double dStack_330;" primitive_type identifier ;) (declaration "double dStack_328;" primitive_type identifier ;) (declaration "double dStack_320;" primitive_type identifier ;) (declaration "undefined4 uStack_310;" type_identifier identifier ;) (declaration "undefined4 uStack_30c;" type_identifier identifier ;) (declaration "undefined4 uStack_308;" type_identifier identifier ;) (declaration "undefined8 uStack_300;" type_identifier identifier ;) (declaration "undefined4 uStack_2f8;" type_identifier identifier ;) (declaration "double dStack_2e8;" primitive_type identifier ;) (declaration "double dStack_2e0;" primitive_type identifier ;) (declaration "double dStack_2d8;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "double dStack_2c8;" primitive_type identifier ;) (declaration "double dStack_2c0;" primitive_type identifier ;) (declaration "int iStack_2b4;" primitive_type identifier ;) (declaration "float *pfStack_2b0;" primitive_type (pointer_declarator "*pfStack_2b0" * identifier) ;) (declaration "int *piStack_2ac;" primitive_type (pointer_declarator "*piStack_2ac" * identifier) ;) (declaration "undefined4 *puStack_2a8;" type_identifier (pointer_declarator "*puStack_2a8" * identifier) ;) (declaration "undefined4 *puStack_2a4;" type_identifier (pointer_declarator "*puStack_2a4" * identifier) ;) (declaration "uint uStack_2a0;" type_identifier identifier ;) (declaration "undefined4 *puStack_29c;" type_identifier (pointer_declarator "*puStack_29c" * identifier) ;) (declaration "float **ppfStack_298;" primitive_type (pointer_declarator "**ppfStack_298" * (pointer_declarator "*ppfStack_298" * identifier)) ;) (declaration "undefined4 *puStack_294;" type_identifier (pointer_declarator "*puStack_294" * identifier) ;) (declaration "undefined4 *puStack_290;" type_identifier (pointer_declarator "*puStack_290" * identifier) ;) (declaration "code *pcStack_28c;" type_identifier (pointer_declarator "*pcStack_28c" * identifier) ;) (declaration "double dStack_288;" primitive_type identifier ;) (declaration "double dStack_280;" primitive_type identifier ;) (declaration "int iStack_248;" primitive_type identifier ;) (declaration "undefined *puStack_244;" type_identifier (pointer_declarator "*puStack_244" * identifier) ;) (declaration "code *pcStack_240;" type_identifier (pointer_declarator "*pcStack_240" * identifier) ;) (declaration "float *pfStack_234;" primitive_type (pointer_declarator "*pfStack_234" * identifier) ;) (declaration "undefined4 *puStack_230;" type_identifier (pointer_declarator "*puStack_230" * identifier) ;) (declaration "undefined *puStack_22c;" type_identifier (pointer_declarator "*puStack_22c" * identifier) ;) (declaration "int *piStack_228;" primitive_type (pointer_declarator "*piStack_228" * identifier) ;) (declaration "undefined *puStack_224;" type_identifier (pointer_declarator "*puStack_224" * identifier) ;) (declaration "float *pfStack_220;" primitive_type (pointer_declarator "*pfStack_220" * identifier) ;) (declaration "undefined4 uStack_21c;" type_identifier identifier ;) (declaration "undefined4 uStack_218;" type_identifier identifier ;) (declaration "undefined8 uStack_210;" type_identifier identifier ;) (declaration "undefined4 uStack_208;" type_identifier identifier ;) (declaration "double dStack_1f8;" primitive_type identifier ;) (declaration "double dStack_1f0;" primitive_type identifier ;) (declaration "double dStack_1e8;" primitive_type identifier ;) (declaration "double dStack_1e0;" primitive_type identifier ;) (declaration "double dStack_1d8;" primitive_type identifier ;) (declaration "double dStack_1d0;" primitive_type identifier ;) (declaration "int iStack_1c4;" primitive_type identifier ;) (declaration "int *piStack_1c0;" primitive_type (pointer_declarator "*piStack_1c0" * identifier) ;) (declaration "float *pfStack_1bc;" primitive_type (pointer_declarator "*pfStack_1bc" * identifier) ;) (declaration "float *pfStack_1b8;" primitive_type (pointer_declarator "*pfStack_1b8" * identifier) ;) (declaration "undefined4 *puStack_1b4;" type_identifier (pointer_declarator "*puStack_1b4" * identifier) ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 *puStack_1ac;" type_identifier (pointer_declarator "*puStack_1ac" * identifier) ;) (declaration "float **ppfStack_1a8;" primitive_type (pointer_declarator "**ppfStack_1a8" * (pointer_declarator "*ppfStack_1a8" * identifier)) ;) (declaration "undefined4 *puStack_1a4;" type_identifier (pointer_declarator "*puStack_1a4" * identifier) ;) (declaration "undefined4 *puStack_1a0;" type_identifier (pointer_declarator "*puStack_1a0" * identifier) ;) (declaration "code *pcStack_19c;" type_identifier (pointer_declarator "*pcStack_19c" * identifier) ;) (declaration "double dStack_198;" primitive_type identifier ;) (declaration "double dStack_190;" primitive_type identifier ;) (declaration "undefined4 uStack_178;" type_identifier identifier ;) (declaration "undefined *puStack_174;" type_identifier (pointer_declarator "*puStack_174" * identifier) ;) (declaration "undefined *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "undefined *puStack_164;" type_identifier (pointer_declarator "*puStack_164" * identifier) ;) (declaration "int *piStack_160;" primitive_type (pointer_declarator "*piStack_160" * identifier) ;) (declaration "undefined *puStack_15c;" type_identifier (pointer_declarator "*puStack_15c" * identifier) ;) (declaration "float *apfStack_158 [4];" primitive_type (pointer_declarator "*apfStack_158 [4]" * (array_declarator "apfStack_158 [4]" identifier [ number_literal ])) ;) (declaration "undefined8 uStack_148;" type_identifier identifier ;) (declaration "undefined4 uStack_140;" type_identifier identifier ;) (declaration "double dStack_130;" primitive_type identifier ;) (declaration "double dStack_128;" primitive_type identifier ;) (declaration "double dStack_120;" primitive_type identifier ;) (declaration "double dStack_118;" primitive_type identifier ;) (declaration "double dStack_110;" primitive_type identifier ;) (declaration "double dStack_108;" primitive_type identifier ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "int *piStack_f8;" primitive_type (pointer_declarator "*piStack_f8" * identifier) ;) (declaration "float *pfStack_f4;" primitive_type (pointer_declarator "*pfStack_f4" * identifier) ;) (declaration "float *pfStack_f0;" primitive_type (pointer_declarator "*pfStack_f0" * identifier) ;) (declaration "undefined4 *puStack_ec;" type_identifier (pointer_declarator "*puStack_ec" * identifier) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "undefined4 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "float **ppfStack_e0;" primitive_type (pointer_declarator "**ppfStack_e0" * (pointer_declarator "*ppfStack_e0" * identifier)) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "undefined4 *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "float *local_98 [4];" primitive_type (pointer_declarator "*local_98 [4]" * (array_declarator "local_98 [4]" identifier [ number_literal ])) ;) (declaration "undefined8 local_88;" type_identifier identifier ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "double local_70;" primitive_type identifier ;) (declaration "double local_68;" primitive_type identifier ;) (declaration "double local_60;" primitive_type identifier ;) (declaration "double local_58;" primitive_type identifier ;) (declaration "double local_50;" primitive_type identifier ;) (declaration "double local_48;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (expression_statement "puVar17 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar17 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar36 = (undefined4 *)*param_1;" (assignment_expression "puVar36 = (undefined4 *)*param_1" identifier = (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" * (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" * (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "iVar50 = (int)puVar36[7] / iVar4;" (assignment_expression "iVar50 = (int)puVar36[7] / iVar4" identifier = (binary_expression "(int)puVar36[7] / iVar4" (cast_expression "(int)puVar36[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[7]" identifier [ number_literal ])) / identifier)) ;) (expression_statement "iVar4 = (int)puVar36[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar36[7] % iVar4" identifier = (binary_expression "(int)puVar36[7] % iVar4" (cast_expression "(int)puVar36[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar21 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar21 != (undefined4 *)0x0)" ( (binary_expression "puVar21 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" identifier = (binary_expression "iVar50 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar30 = (float *)(iVar50 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)(iVar50 * iVar5 + iVar4)" identifier = (cast_expression "(float *)(iVar50 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 * iVar5 + iVar4)" ( (binary_expression "iVar50 * iVar5 + iVar4" (binary_expression "iVar50 * iVar5" identifier * identifier) + identifier) )))) ;) (expression_statement "pfVar31 = (float *)(iVar50 + (int)pfVar30);" (assignment_expression "pfVar31 = (float *)(iVar50 + (int)pfVar30)" identifier = (cast_expression "(float *)(iVar50 + (int)pfVar30)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 + (int)pfVar30)" ( (binary_expression "iVar50 + (int)pfVar30" identifier + (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" if (parenthesized_expression "((int)pfVar30 < (int)pfVar31)" ( (binary_expression "(int)pfVar30 < (int)pfVar31" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" { (expression_statement "unaff_s6 = local_98;" (assignment_expression "unaff_s6 = local_98" identifier = identifier) ;) (expression_statement "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);" (assignment_expression "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" identifier = (cast_expression "(double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" identifier (argument_list "((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" ( (cast_expression "(int)((ulonglong)in_f22_23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f22_23 >> 0x20)" ( (binary_expression "(ulonglong)in_f22_23 >> 0x20" (cast_expression "(ulonglong)in_f22_23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (subscript_expression "param_1[2]" identifier [ number_literal ]) ))))) ;) (expression_statement "unaff_s5 = (undefined4 *)param_1[3];" (assignment_expression "unaff_s5 = (undefined4 *)param_1[3]" identifier = (cast_expression "(undefined4 *)param_1[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (expression_statement "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (undefined4 *)param_1[5];" (assignment_expression "puVar6 = (undefined4 *)param_1[5]" identifier = (cast_expression "(undefined4 *)param_1[5]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s4 = param_1[1];" (assignment_expression "unaff_s4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "puVar7 = (undefined *)param_1[4];" (assignment_expression "puVar7 = (undefined *)param_1[4]" identifier = (cast_expression "(undefined *)param_1[4]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14" identifier = (binary_expression "PTR_s_t_to_left_003a88e4 + 0x2a14" identifier + number_literal)) ;) (do_statement "do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);" do (compound_statement "{\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" { (if_statement "if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }" if (parenthesized_expression "(param_1[7] != 0)" ( (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }" { (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = puVar36[6];" (assignment_expression "param_4 = puVar36[6]" identifier = (subscript_expression "puVar36[6]" identifier [ number_literal ])) ;) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" identifier = number_literal) ;) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" identifier = identifier) ;) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" identifier = identifier) ;) (expression_statement "local_b4 = puVar7;" (assignment_expression "local_b4 = puVar7" identifier = identifier) ;) (expression_statement "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();" (assignment_expression "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" identifier = (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)" ( (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003a964c" * (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003a964c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123734:\n          param_1[7] = 0;\n        }" { (labeled_statement "LAB_00123734:\n          param_1[7] = 0;" statement_identifier : (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;)) }) (else_clause "else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" else (compound_statement "{\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" { (expression_statement "puVar9 = (undefined4 *)param_1[6];" (assignment_expression "puVar9 = (undefined4 *)param_1[6]" identifier = (cast_expression "(undefined4 *)param_1[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[6]" identifier [ number_literal ]))) ;) (expression_statement "puVar21 = puVar9;" (assignment_expression "puVar21 = puVar9" identifier = identifier) ;) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);" do (compound_statement "{\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          }" { (expression_statement "ppfVar23 = ppfVar3;" (assignment_expression "ppfVar23 = ppfVar3" identifier = identifier) ;) (expression_statement "puVar11 = puVar21;" (assignment_expression "puVar11 = puVar21" identifier = identifier) ;) (expression_statement "puVar21 = puVar11 + 4;" (assignment_expression "puVar21 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "pfVar29 = (float *)puVar11[1];" (assignment_expression "pfVar29 = (float *)puVar11[1]" identifier = (cast_expression "(float *)puVar11[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar28 = (float *)puVar11[2];" (assignment_expression "pfVar28 = (float *)puVar11[2]" identifier = (cast_expression "(float *)puVar11[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = (float *)puVar11[3];" (assignment_expression "param_3 = (float *)puVar11[3]" identifier = (cast_expression "(float *)puVar11[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar23 = (float *)*puVar11;" (assignment_expression "*ppfVar23 = (float *)*puVar11" (pointer_expression "*ppfVar23" * identifier) = (cast_expression "(float *)*puVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "ppfVar23[1] = pfVar29;" (assignment_expression "ppfVar23[1] = pfVar29" (subscript_expression "ppfVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[2] = pfVar28;" (assignment_expression "ppfVar23[2] = pfVar28" (subscript_expression "ppfVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[3] = param_3;" (assignment_expression "ppfVar23[3] = param_3" (subscript_expression "ppfVar23[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar3 = ppfVar23 + 4;" (assignment_expression "ppfVar3 = ppfVar23 + 4" identifier = (binary_expression "ppfVar23 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar21 != puVar9 + 0x14)" ( (binary_expression "puVar21 != puVar9 + 0x14" identifier != (binary_expression "puVar9 + 0x14" identifier + number_literal)) )) ;) (expression_statement "pfVar28 = (float *)puVar11[5];" (assignment_expression "pfVar28 = (float *)puVar11[5]" identifier = (cast_expression "(float *)puVar11[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar23[4] = (float *)*puVar21;" (assignment_expression "ppfVar23[4] = (float *)*puVar21" (subscript_expression "ppfVar23[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar21" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "ppfVar23[5] = pfVar28;" (assignment_expression "ppfVar23[5] = pfVar28" (subscript_expression "ppfVar23[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }" if (parenthesized_expression "(0 < (int)puVar36[6])" ( (binary_expression "0 < (int)puVar36[6]" number_literal < (cast_expression "(int)puVar36[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }" { (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);" do (compound_statement "{\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            }" { (expression_statement "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);" (call_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58)" (parenthesized_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)" ( (pointer_expression "*(code *)PTR_ResetMagickMemory_003a8ff4" * (cast_expression "(code *)PTR_ResetMagickMemory_003a8ff4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "local_88 = *(undefined8 *)(puVar36 + 0x92);" (assignment_expression "local_88 = *(undefined8 *)(puVar36 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar36 + 0x92)" * (cast_expression "(undefined8 *)(puVar36 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0x92)" ( (binary_expression "puVar36 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "local_98[0] = (float *)*puVar36;" (assignment_expression "local_98[0] = (float *)*puVar36" (subscript_expression "local_98[0]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar36" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "local_98[1] = (float *)puVar36[1];" (assignment_expression "local_98[1] = (float *)puVar36[1]" (subscript_expression "local_98[1]" identifier [ number_literal ]) = (cast_expression "(float *)puVar36[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[1]" identifier [ number_literal ]))) ;) (expression_statement "local_80 = puVar36[8];" (assignment_expression "local_80 = puVar36[8]" identifier = (subscript_expression "puVar36[8]" identifier [ number_literal ])) ;) (expression_statement "local_98[2] = (float *)puVar36[0xaf];" (assignment_expression "local_98[2] = (float *)puVar36[0xaf]" (subscript_expression "local_98[2]" identifier [ number_literal ]) = (cast_expression "(float *)puVar36[0xaf]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[0xaf]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = local_98[0];" (assignment_expression "param_3 = local_98[0]" identifier = (subscript_expression "local_98[0]" identifier [ number_literal ])) ;) (expression_statement "local_50 = in_f20_21;" (assignment_expression "local_50 = in_f20_21" identifier = identifier) ;) (if_statement "if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" if (parenthesized_expression "(unaff_s7 != 0)" ( (binary_expression "unaff_s7 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" { (expression_statement "iVar4 = puVar36[0xb4];" (assignment_expression "iVar4 = puVar36[0xb4]" identifier = (subscript_expression "puVar36[0xb4]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" identifier = (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) ;) (expression_statement "local_70 = (double)*param_3;" (assignment_expression "local_70 = (double)*param_3" identifier = (cast_expression "(double)*param_3" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" { (expression_statement "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" { (expression_statement "local_98[2] = (float *)0x4;" (assignment_expression "local_98[2] = (float *)0x4" (subscript_expression "local_98[2]" identifier [ number_literal ]) = (cast_expression "(float *)0x4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" { (expression_statement "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" * (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" ( (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) })) })) (expression_statement "puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);" (assignment_expression "puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" identifier = (cast_expression "(undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" (parenthesized_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)" ( (pointer_expression "*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" * (cast_expression "(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,unaff_s4)" ( identifier , identifier ))))) ;) (if_statement "if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" if (parenthesized_expression "((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0))" ( (binary_expression "(unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s5 != puVar21)" ( (binary_expression "unaff_s5 != puVar21" identifier != identifier) )) && (parenthesized_expression "(*(int *)(puVar36[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)(puVar36[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar36[0xb4] + 0x34)" * (cast_expression "(int *)(puVar36[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36[0xb4] + 0x34)" ( (binary_expression "puVar36[0xb4] + 0x34" (subscript_expression "puVar36[0xb4]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" { (expression_statement "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);" (assignment_expression "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0)" (pointer_expression "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" * (cast_expression "(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" ( (binary_expression "unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)(puVar36[0xb4] + 0x38) * 4" (pointer_expression "*(int *)(puVar36[0xb4] + 0x38)" * (cast_expression "(int *)(puVar36[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36[0xb4] + 0x38)" ( (binary_expression "puVar36[0xb4] + 0x38" (subscript_expression "puVar36[0xb4]" identifier [ number_literal ]) + number_literal) )))) * number_literal)) )))) = (call_expression "SUB84(in_f22_23,0)" identifier (argument_list "(in_f22_23,0)" ( identifier , number_literal )))) ;) })) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" identifier = (cast_expression "(int *)((int)unaff_s0 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 1)" ( (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;" (assignment_expression "unaff_s7 = unaff_s7 + puVar36[0xb0] * 4" identifier = (binary_expression "unaff_s7 + puVar36[0xb0] * 4" identifier + (binary_expression "puVar36[0xb0] * 4" (subscript_expression "puVar36[0xb0]" identifier [ number_literal ]) * number_literal))) ;) }) while (parenthesized_expression "((int)unaff_s0 < (int)puVar36[6])" ( (binary_expression "(int)unaff_s0 < (int)puVar36[6]" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar36[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" identifier = identifier) ;) (expression_statement "param_2 = puVar7;" (assignment_expression "param_2 = puVar7" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" identifier = (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)" ( (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" * (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            param_1[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            param_1[7] = 0;\n          }" { (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" if (parenthesized_expression "(puVar36[0xca] != 0)" ( (binary_expression "puVar36[0xca] != 0" (subscript_expression "puVar36[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" { (expression_statement "unaff_s0 = (int *)param_1[8];" (assignment_expression "unaff_s0 = (int *)param_1[8]" identifier = (cast_expression "(int *)param_1[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[8]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)PTR_GOMP_atomic_start_003a92e4)();" (call_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)()" (parenthesized_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)" ( (pointer_expression "*(code *)PTR_GOMP_atomic_start_003a92e4" * (cast_expression "(code *)PTR_GOMP_atomic_start_003a92e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar1 = PTR_GOMP_atomic_end_003a9438;" (assignment_expression "puVar1 = PTR_GOMP_atomic_end_003a9438" identifier = identifier) ;) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" identifier = (subscript_expression "unaff_s0[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s0[1] = uVar22;" (assignment_expression "unaff_s0[1] = uVar22" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" * identifier) = (binary_expression "(uint)(uVar22 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar10)" ( (binary_expression "uVar22 < uVar10" identifier < identifier) ))) + (pointer_expression "*unaff_s0" * identifier))) ;) (expression_statement "(*(code *)puVar1)();" (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_b4 = (undefined *)puVar36[7];" (assignment_expression "local_b4 = (undefined *)puVar36[7]" identifier = (cast_expression "(undefined *)puVar36[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[7]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = ((undefined4 *)param_1[8])[1];" (assignment_expression "param_4 = ((undefined4 *)param_1[8])[1]" identifier = (subscript_expression "((undefined4 *)param_1[8])[1]" (parenthesized_expression "((undefined4 *)param_1[8])" ( (cast_expression "(undefined4 *)param_1[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "param_3 = *(float **)param_1[8];" (assignment_expression "param_3 = *(float **)param_1[8]" identifier = (pointer_expression "*(float **)param_1[8]" * (cast_expression "(float **)param_1[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[8]" identifier [ number_literal ])))) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "puVar21 = puVar36;" (assignment_expression "puVar21 = puVar36" identifier = identifier) ;) (expression_statement "param_2 = puVar8;" (assignment_expression "param_2 = puVar8" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();" (assignment_expression "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)()" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)()" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" ( (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" * (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00123734;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123734;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" identifier = (cast_expression "(float *)((int)pfVar30 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar30 + 1)" ( (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfVar31 != pfVar30)" ( (binary_expression "pfVar31 != pfVar30" identifier != identifier) )) ;) })) (if_statement "if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }" if (parenthesized_expression "(local_3c == *(int *)puVar17)" ( (binary_expression "local_3c == *(int *)puVar17" identifier == (pointer_expression "*(int *)puVar17" * (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar17;\n  }" { (return_statement "return *(int *)puVar17;" return (pointer_expression "*(int *)puVar17" * (cast_expression "(int *)puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "pcVar37 = FUN_00123798;" (assignment_expression "pcVar37 = FUN_00123798" identifier = identifier) ;) (expression_statement "puVar17 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar17 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_170 = puVar17 + 0x28d118;" (assignment_expression "puStack_170 = puVar17 + 0x28d118" identifier = (binary_expression "puVar17 + 0x28d118" identifier + number_literal)) ;) (expression_statement "piStack_160 = *(int **)(puVar17 + 0x285a98);" (assignment_expression "piStack_160 = *(int **)(puVar17 + 0x285a98)" identifier = (pointer_expression "*(int **)(puVar17 + 0x285a98)" * (cast_expression "(int **)(puVar17 + 0x285a98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x285a98)" ( (binary_expression "puVar17 + 0x285a98" identifier + number_literal) ))))) ;) (expression_statement "iStack_fc = *piStack_160;" (assignment_expression "iStack_fc = *piStack_160" identifier = (pointer_expression "*piStack_160" * identifier)) ;) (expression_statement "puVar6 = (undefined4 *)*puVar21;" (assignment_expression "puVar6 = (undefined4 *)*puVar21" identifier = (cast_expression "(undefined4 *)*puVar21" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "piStack_f8 = unaff_s0;" (assignment_expression "piStack_f8 = unaff_s0" identifier = identifier) ;) (expression_statement "pfStack_f4 = pfVar30;" (assignment_expression "pfStack_f4 = pfVar30" identifier = identifier) ;) (expression_statement "pfStack_f0 = pfVar31;" (assignment_expression "pfStack_f0 = pfVar31" identifier = identifier) ;) (expression_statement "puStack_ec = param_1;" (assignment_expression "puStack_ec = param_1" identifier = identifier) ;) (expression_statement "uStack_e8 = unaff_s4;" (assignment_expression "uStack_e8 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_e4 = unaff_s5;" (assignment_expression "puStack_e4 = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_e0 = unaff_s6;" (assignment_expression "ppfStack_e0 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_dc = unaff_s7;" (assignment_expression "iStack_dc = unaff_s7" identifier = identifier) ;) (expression_statement "puStack_d8 = puVar36;" (assignment_expression "puStack_d8 = puVar36" identifier = identifier) ;) (expression_statement "pcStack_d4 = pcVar37;" (assignment_expression "pcStack_d4 = pcVar37" identifier = identifier) ;) (expression_statement "dStack_d0 = in_f20_21;" (assignment_expression "dStack_d0 = in_f20_21" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puVar17 + 0x286174))();" (assignment_expression "iVar4 = (**(code **)(puVar17 + 0x286174))()" identifier = (call_expression "(**(code **)(puVar17 + 0x286174))()" (parenthesized_expression "(**(code **)(puVar17 + 0x286174))" ( (pointer_expression "**(code **)(puVar17 + 0x286174)" * (pointer_expression "*(code **)(puVar17 + 0x286174)" * (cast_expression "(code **)(puVar17 + 0x286174)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x286174)" ( (binary_expression "puVar17 + 0x286174" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(puStack_170 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(puStack_170 + -0x73a8))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x73a8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73a8))" ( (pointer_expression "**(code **)(puStack_170 + -0x73a8)" * (pointer_expression "*(code **)(puStack_170 + -0x73a8)" * (cast_expression "(code **)(puStack_170 + -0x73a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x73a8)" ( (binary_expression "puStack_170 + -0x73a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "iVar50 = (int)puVar6[7] / iVar4;" (assignment_expression "iVar50 = (int)puVar6[7] / iVar4" identifier = (binary_expression "(int)puVar6[7] / iVar4" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) / identifier)) ;) (expression_statement "iVar4 = (int)puVar6[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar6[7] % iVar4" identifier = (binary_expression "(int)puVar6[7] % iVar4" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar36 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar36 != (undefined4 *)0x0)" ( (binary_expression "puVar36 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" { (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" identifier = (binary_expression "iVar50 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar30 = (float *)(iVar50 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)(iVar50 * iVar5 + iVar4)" identifier = (cast_expression "(float *)(iVar50 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 * iVar5 + iVar4)" ( (binary_expression "iVar50 * iVar5 + iVar4" (binary_expression "iVar50 * iVar5" identifier * identifier) + identifier) )))) ;) (expression_statement "pfVar31 = (float *)(iVar50 + (int)pfVar30);" (assignment_expression "pfVar31 = (float *)(iVar50 + (int)pfVar30)" identifier = (cast_expression "(float *)(iVar50 + (int)pfVar30)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 + (int)pfVar30)" ( (binary_expression "iVar50 + (int)pfVar30" identifier + (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) (if_statement "if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" if (parenthesized_expression "((int)pfVar30 < (int)pfVar31)" ( (binary_expression "(int)pfVar30 < (int)pfVar31" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" { (expression_statement "unaff_s6 = apfStack_158;" (assignment_expression "unaff_s6 = apfStack_158" identifier = identifier) ;) (expression_statement "unaff_s5 = (undefined4 *)puVar21[3];" (assignment_expression "unaff_s5 = (undefined4 *)puVar21[3]" identifier = (cast_expression "(undefined4 *)puVar21[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[3]" identifier [ number_literal ]))) ;) (expression_statement "param_1 = (undefined4 *)puVar21[1];" (assignment_expression "param_1 = (undefined4 *)puVar21[1]" identifier = (cast_expression "(undefined4 *)puVar21[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[1]" identifier [ number_literal ]))) ;) (expression_statement "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(puStack_170 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(puStack_170 + -0x7fd0)" * (cast_expression "(int *)(puStack_170 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_170 + -0x7fd0)" ( (binary_expression "puStack_170 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puStack_164 = (undefined *)puVar21[2];" (assignment_expression "puStack_164 = (undefined *)puVar21[2]" identifier = (cast_expression "(undefined *)puVar21[2]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[2]" identifier [ number_literal ]))) ;) (expression_statement "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);" (assignment_expression "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" identifier = (cast_expression "(undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" ( (binary_expression "*(int *)(puStack_170 + -0x7fcc) + 0x2a28" (pointer_expression "*(int *)(puStack_170 + -0x7fcc)" * (cast_expression "(int *)(puStack_170 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_170 + -0x7fcc)" ( (binary_expression "puStack_170 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);" do (compound_statement "{\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" { (if_statement "if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" if (parenthesized_expression "(puVar21[7] != 0)" ( (binary_expression "puVar21[7] != 0" (subscript_expression "puVar21[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" { (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = puVar6[6];" (assignment_expression "param_4 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "puStack_174 = puStack_164;" (assignment_expression "puStack_174 = puStack_164" identifier = identifier) ;) (expression_statement "uStack_178 = 1;" (assignment_expression "uStack_178 = 1" identifier = number_literal) ;) (expression_statement "puVar36 = unaff_s5;" (assignment_expression "puVar36 = unaff_s5" identifier = identifier) ;) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" identifier = identifier) ;) (expression_statement "unaff_s4 = (**(code **)(puVar17 + -0x7264))();" (assignment_expression "unaff_s4 = (**(code **)(puVar17 + -0x7264))()" identifier = (call_expression "(**(code **)(puVar17 + -0x7264))()" (parenthesized_expression "(**(code **)(puVar17 + -0x7264))" ( (pointer_expression "**(code **)(puVar17 + -0x7264)" * (pointer_expression "*(code **)(puVar17 + -0x7264)" * (cast_expression "(code **)(puVar17 + -0x7264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x7264)" ( (binary_expression "puVar17 + -0x7264" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" if (parenthesized_expression "(unaff_s4 == 0)" ( (binary_expression "unaff_s4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }" { (labeled_statement "LAB_00123bb4:\n          puVar21[7] = 0;" statement_identifier : (expression_statement "puVar21[7] = 0;" (assignment_expression "puVar21[7] = 0" (subscript_expression "puVar21[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) }) (else_clause "else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" else (compound_statement "{\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" { (expression_statement "puVar9 = (undefined4 *)puVar21[6];" (assignment_expression "puVar9 = (undefined4 *)puVar21[6]" identifier = (cast_expression "(undefined4 *)puVar21[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[6]" identifier [ number_literal ]))) ;) (expression_statement "puVar36 = puVar9;" (assignment_expression "puVar36 = puVar9" identifier = identifier) ;) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" identifier = identifier) ;) (do_statement "do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);" do (compound_statement "{\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          }" { (expression_statement "ppfVar23 = ppfVar3;" (assignment_expression "ppfVar23 = ppfVar3" identifier = identifier) ;) (expression_statement "puVar11 = puVar36;" (assignment_expression "puVar11 = puVar36" identifier = identifier) ;) (expression_statement "puVar36 = puVar11 + 4;" (assignment_expression "puVar36 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "pfVar29 = (float *)puVar11[1];" (assignment_expression "pfVar29 = (float *)puVar11[1]" identifier = (cast_expression "(float *)puVar11[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar28 = (float *)puVar11[2];" (assignment_expression "pfVar28 = (float *)puVar11[2]" identifier = (cast_expression "(float *)puVar11[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[2]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = (float *)puVar11[3];" (assignment_expression "param_3 = (float *)puVar11[3]" identifier = (cast_expression "(float *)puVar11[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar23 = (float *)*puVar11;" (assignment_expression "*ppfVar23 = (float *)*puVar11" (pointer_expression "*ppfVar23" * identifier) = (cast_expression "(float *)*puVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "ppfVar23[1] = pfVar29;" (assignment_expression "ppfVar23[1] = pfVar29" (subscript_expression "ppfVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[2] = pfVar28;" (assignment_expression "ppfVar23[2] = pfVar28" (subscript_expression "ppfVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar23[3] = param_3;" (assignment_expression "ppfVar23[3] = param_3" (subscript_expression "ppfVar23[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar3 = ppfVar23 + 4;" (assignment_expression "ppfVar3 = ppfVar23 + 4" identifier = (binary_expression "ppfVar23 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar36 != puVar9 + 0x14)" ( (binary_expression "puVar36 != puVar9 + 0x14" identifier != (binary_expression "puVar9 + 0x14" identifier + number_literal)) )) ;) (expression_statement "pfVar28 = (float *)puVar11[5];" (assignment_expression "pfVar28 = (float *)puVar11[5]" identifier = (cast_expression "(float *)puVar11[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar23[4] = (float *)*puVar36;" (assignment_expression "ppfVar23[4] = (float *)*puVar36" (subscript_expression "ppfVar23[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar36" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "ppfVar23[5] = pfVar28;" (assignment_expression "ppfVar23[5] = pfVar28" (subscript_expression "ppfVar23[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" if (parenthesized_expression "(0 < (int)puVar6[6])" ( (binary_expression "0 < (int)puVar6[6]" number_literal < (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" { (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x78bc)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x78bc)" * (cast_expression "(code **)(puStack_170 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x78bc)" ( (binary_expression "puStack_170 + -0x78bc" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );" do (compound_statement "{\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            }" { (expression_statement "(*pcVar37)(unaff_s6,0,0x58);" (call_expression "(*pcVar37)(unaff_s6,0,0x58)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_148 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_148 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "apfStack_158[0] = (float *)*puVar6;" (assignment_expression "apfStack_158[0] = (float *)*puVar6" (subscript_expression "apfStack_158[0]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar6" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "apfStack_158[1] = (float *)puVar6[1];" (assignment_expression "apfStack_158[1] = (float *)puVar6[1]" (subscript_expression "apfStack_158[1]" identifier [ number_literal ]) = (cast_expression "(float *)puVar6[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uStack_140 = puVar6[8];" (assignment_expression "uStack_140 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "apfStack_158[2] = (float *)puVar6[0xaf];" (assignment_expression "apfStack_158[2] = (float *)puVar6[0xaf]" (subscript_expression "apfStack_158[2]" identifier [ number_literal ]) = (cast_expression "(float *)puVar6[0xaf]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[0xaf]" identifier [ number_literal ]))) ;) (expression_statement "param_3 = apfStack_158[0];" (assignment_expression "param_3 = apfStack_158[0]" identifier = (subscript_expression "apfStack_158[0]" identifier [ number_literal ])) ;) (expression_statement "dStack_110 = in_f20_21;" (assignment_expression "dStack_110 = in_f20_21" identifier = identifier) ;) (if_statement "if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" if (parenthesized_expression "(unaff_s4 == 0)" ( (binary_expression "unaff_s4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }" { (labeled_statement "LAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);" statement_identifier : (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x792c)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x792c)" * (cast_expression "(code **)(puStack_170 + -0x792c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x792c)" ( (binary_expression "puStack_170 + -0x792c" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" else (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" { (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" identifier = (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) ;) (expression_statement "dStack_130 = (double)*param_3;" (assignment_expression "dStack_130 = (double)*param_3" identifier = (cast_expression "(double)*param_3" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" { (expression_statement "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" { (expression_statement "apfStack_158[2] = (float *)0x4;" (assignment_expression "apfStack_158[2] = (float *)0x4" (subscript_expression "apfStack_158[2]" identifier [ number_literal ]) = (cast_expression "(float *)0x4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x792c)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x792c)" * (cast_expression "(code **)(puStack_170 + -0x792c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x792c)" ( (binary_expression "puStack_170 + -0x792c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" { (expression_statement "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_00123a48;" goto statement_identifier ;) })) }))) (expression_statement "puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);" (assignment_expression "puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5])" identifier = (cast_expression "(undefined4 *)(*pcVar37)(unaff_s6,puVar21[5])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar37)(unaff_s6,puVar21[5])" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(unaff_s6,puVar21[5])" ( identifier , (subscript_expression "puVar21[5]" identifier [ number_literal ]) ))))) ;) (if_statement "if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }" if (parenthesized_expression "(param_1 != puVar36)" ( (binary_expression "param_1 != puVar36" identifier != identifier) )) (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }" { (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 4) & 2)" ( (binary_expression "*(uint *)(iVar4 + 4) & 2" (pointer_expression "*(uint *)(iVar4 + 4)" * (cast_expression "(uint *)(iVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" identifier + (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar21[4] + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar21[4] + 0x28)" * (cast_expression "(double *)(puVar21[4] + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x28)" ( (binary_expression "puVar21[4] + 0x28" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x10) & 2" (pointer_expression "*(uint *)(iVar4 + 0x10)" * (cast_expression "(uint *)(iVar4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar21[4] + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar21[4] + 0x30)" * (cast_expression "(double *)(puVar21[4] + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x30)" ( (binary_expression "puVar21[4] + 0x30" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar4 + 0x1c)" * (cast_expression "(uint *)(iVar4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }" { (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(puVar21[4] + 0x38)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(puVar21[4] + 0x38)" * (cast_expression "(double *)(puVar21[4] + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x38)" ( (binary_expression "puVar21[4] + 0x38" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (expression_statement "uVar10 = *(uint *)(iVar4 + 0x34) & 2;" (assignment_expression "uVar10 = *(uint *)(iVar4 + 0x34) & 2" identifier = (binary_expression "*(uint *)(iVar4 + 0x34) & 2" (pointer_expression "*(uint *)(iVar4 + 0x34)" * (cast_expression "(uint *)(iVar4 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" if (parenthesized_expression "((*(uint *)(iVar4 + 0x28) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar4 + 0x28) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar4 + 0x28) & 2" (pointer_expression "*(uint *)(iVar4 + 0x28)" * (cast_expression "(uint *)(iVar4 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }" { (if_statement "if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" { (expression_statement "dVar40 = *(double *)(puVar21[4] + 0x48);" (assignment_expression "dVar40 = *(double *)(puVar21[4] + 0x48)" identifier = (pointer_expression "*(double *)(puVar21[4] + 0x48)" * (cast_expression "(double *)(puVar21[4] + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21[4] + 0x48)" ( (binary_expression "puVar21[4] + 0x48" (subscript_expression "puVar21[4]" identifier [ number_literal ]) + number_literal) ))))) ;) (goto_statement "goto LAB_0012391c;" goto statement_identifier ;) })) }) (else_clause "else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" else (compound_statement "{\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" { (expression_statement "param_3 = (float *)puVar21[4];" (assignment_expression "param_3 = (float *)puVar21[4]" identifier = (cast_expression "(float *)puVar21[4]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[4]" identifier [ number_literal ]))) ;) (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(param_3 + 0x10)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(param_3 + 0x10)" * (cast_expression "(double *)(param_3 + 0x10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }" { (expression_statement "dVar40 = *(double *)(param_3 + 0x12);" (assignment_expression "dVar40 = *(double *)(param_3 + 0x12)" identifier = (pointer_expression "*(double *)(param_3 + 0x12)" * (cast_expression "(double *)(param_3 + 0x12)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x12)" ( (binary_expression "param_3 + 0x12" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;" statement_identifier : (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" * (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" ( (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar40" ( (type_descriptor "float" primitive_type) ) identifier)) ;)) })) }))) })) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" identifier = (cast_expression "(int *)((int)unaff_s0 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 1)" ( (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;" (assignment_expression "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4" identifier = (binary_expression "unaff_s4 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (if_statement "if ((int)puVar6[6] <= (int)unaff_s0) break;" if (parenthesized_expression "((int)puVar6[6] <= (int)unaff_s0)" ( (binary_expression "(int)puVar6[6] <= (int)unaff_s0" (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ])) <= (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x78bc)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x78bc)" * (cast_expression "(code **)(puStack_170 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x78bc)" ( (binary_expression "puStack_170 + -0x78bc" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar36 = unaff_s5;" (assignment_expression "puVar36 = unaff_s5" identifier = identifier) ;) (expression_statement "param_2 = puStack_164;" (assignment_expression "param_2 = puStack_164" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x73b8))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x73b8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73b8))" ( (pointer_expression "**(code **)(puStack_170 + -0x73b8)" * (pointer_expression "*(code **)(puStack_170 + -0x73b8)" * (cast_expression "(code **)(puStack_170 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x73b8)" ( (binary_expression "puStack_170 + -0x73b8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar21[7] = 0;\n          }" { (expression_statement "puVar21[7] = 0;" (assignment_expression "puVar21[7] = 0" (subscript_expression "puVar21[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) (if_statement "if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" if (parenthesized_expression "(puVar6[0xca] != 0)" ( (binary_expression "puVar6[0xca] != 0" (subscript_expression "puVar6[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" { (expression_statement "unaff_s0 = (int *)puVar21[8];" (assignment_expression "unaff_s0 = (int *)puVar21[8]" identifier = (cast_expression "(int *)puVar21[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[8]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(puStack_170 + -0x75cc))();" (call_expression "(**(code **)(puStack_170 + -0x75cc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x75cc))" ( (pointer_expression "**(code **)(puStack_170 + -0x75cc)" * (pointer_expression "*(code **)(puStack_170 + -0x75cc)" * (cast_expression "(code **)(puStack_170 + -0x75cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x75cc)" ( (binary_expression "puStack_170 + -0x75cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" identifier = (subscript_expression "unaff_s0[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x7478);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x7478)" identifier = (pointer_expression "*(code **)(puStack_170 + -0x7478)" * (cast_expression "(code **)(puStack_170 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x7478)" ( (binary_expression "puStack_170 + -0x7478" identifier + number_literal) ))))) ;) (expression_statement "unaff_s0[1] = uVar22;" (assignment_expression "unaff_s0[1] = uVar22" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" * identifier) = (binary_expression "(uint)(uVar22 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar10)" ( (binary_expression "uVar22 < uVar10" identifier < identifier) ))) + (pointer_expression "*unaff_s0" * identifier))) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_174 = (undefined *)puVar6[7];" (assignment_expression "puStack_174 = (undefined *)puVar6[7]" identifier = (cast_expression "(undefined *)puVar6[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = ((undefined4 *)puVar21[8])[1];" (assignment_expression "param_4 = ((undefined4 *)puVar21[8])[1]" identifier = (subscript_expression "((undefined4 *)puVar21[8])[1]" (parenthesized_expression "((undefined4 *)puVar21[8])" ( (cast_expression "(undefined4 *)puVar21[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar21[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "param_3 = *(float **)puVar21[8];" (assignment_expression "param_3 = *(float **)puVar21[8]" identifier = (pointer_expression "*(float **)puVar21[8]" * (cast_expression "(float **)puVar21[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar21[8]" identifier [ number_literal ])))) ;) (expression_statement "uStack_178 = 0;" (assignment_expression "uStack_178 = 0" identifier = number_literal) ;) (expression_statement "puVar36 = puVar6;" (assignment_expression "puVar36 = puVar6" identifier = identifier) ;) (expression_statement "param_2 = puStack_15c;" (assignment_expression "param_2 = puStack_15c" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x7bfc))()" identifier = (call_expression "(**(code **)(puStack_170 + -0x7bfc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x7bfc))" ( (pointer_expression "**(code **)(puStack_170 + -0x7bfc)" * (pointer_expression "*(code **)(puStack_170 + -0x7bfc)" * (cast_expression "(code **)(puStack_170 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_170 + -0x7bfc)" ( (binary_expression "puStack_170 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_00123bb4;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123bb4;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" identifier = (cast_expression "(float *)((int)pfVar30 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar30 + 1)" ( (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfVar31 != pfVar30)" ( (binary_expression "pfVar31 != pfVar30" identifier != identifier) )) ;) })) (if_statement "if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }" if (parenthesized_expression "(iStack_fc == *piStack_160)" ( (binary_expression "iStack_fc == *piStack_160" identifier == (pointer_expression "*piStack_160" * identifier)) )) (compound_statement "{\n    return *piStack_160;\n  }" { (return_statement "return *piStack_160;" return (pointer_expression "*piStack_160" * identifier) ;) })) (expression_statement "pcVar37 = *(code **)(puVar17 + -0x784c);" (assignment_expression "pcVar37 = *(code **)(puVar17 + -0x784c)" identifier = (pointer_expression "*(code **)(puVar17 + -0x784c)" * (cast_expression "(code **)(puVar17 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x784c)" ( (binary_expression "puVar17 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = FUN_00123c14;" (assignment_expression "pcVar38 = FUN_00123c14" identifier = identifier) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_240 = pcVar37 + 0x28cc9c;" (assignment_expression "pcStack_240 = pcVar37 + 0x28cc9c" identifier = (binary_expression "pcVar37 + 0x28cc9c" identifier + number_literal)) ;) (expression_statement "piStack_228 = *(int **)(pcVar37 + 0x28561c);" (assignment_expression "piStack_228 = *(int **)(pcVar37 + 0x28561c)" identifier = (pointer_expression "*(int **)(pcVar37 + 0x28561c)" * (cast_expression "(int **)(pcVar37 + 0x28561c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0x28561c)" ( (binary_expression "pcVar37 + 0x28561c" identifier + number_literal) ))))) ;) (expression_statement "iStack_1c4 = *piStack_228;" (assignment_expression "iStack_1c4 = *piStack_228" identifier = (pointer_expression "*piStack_228" * identifier)) ;) (expression_statement "puVar9 = (undefined4 *)*puVar36;" (assignment_expression "puVar9 = (undefined4 *)*puVar36" identifier = (cast_expression "(undefined4 *)*puVar36" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar36" * identifier))) ;) (expression_statement "piStack_1c0 = unaff_s0;" (assignment_expression "piStack_1c0 = unaff_s0" identifier = identifier) ;) (expression_statement "pfStack_1bc = pfVar30;" (assignment_expression "pfStack_1bc = pfVar30" identifier = identifier) ;) (expression_statement "pfStack_1b8 = pfVar31;" (assignment_expression "pfStack_1b8 = pfVar31" identifier = identifier) ;) (expression_statement "puStack_1b4 = param_1;" (assignment_expression "puStack_1b4 = param_1" identifier = identifier) ;) (expression_statement "uStack_1b0 = unaff_s4;" (assignment_expression "uStack_1b0 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_1ac = unaff_s5;" (assignment_expression "puStack_1ac = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_1a8 = unaff_s6;" (assignment_expression "ppfStack_1a8 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_1a4 = puVar21;" (assignment_expression "puStack_1a4 = puVar21" identifier = identifier) ;) (expression_statement "puStack_1a0 = puVar6;" (assignment_expression "puStack_1a0 = puVar6" identifier = identifier) ;) (expression_statement "pcStack_19c = pcVar38;" (assignment_expression "pcStack_19c = pcVar38" identifier = identifier) ;) (expression_statement "dStack_198 = in_f20_21;" (assignment_expression "dStack_198 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_190 = in_f22_23;" (assignment_expression "dStack_190 = in_f22_23" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar37 + 0x285cf8))();" (assignment_expression "iVar4 = (**(code **)(pcVar37 + 0x285cf8))()" identifier = (call_expression "(**(code **)(pcVar37 + 0x285cf8))()" (parenthesized_expression "(**(code **)(pcVar37 + 0x285cf8))" ( (pointer_expression "**(code **)(pcVar37 + 0x285cf8)" * (pointer_expression "*(code **)(pcVar37 + 0x285cf8)" * (cast_expression "(code **)(pcVar37 + 0x285cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0x285cf8)" ( (binary_expression "pcVar37 + 0x285cf8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_240 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(pcStack_240 + -0x73a8))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x73a8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73a8))" ( (pointer_expression "**(code **)(pcStack_240 + -0x73a8)" * (pointer_expression "*(code **)(pcStack_240 + -0x73a8)" * (cast_expression "(code **)(pcStack_240 + -0x73a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x73a8)" ( (binary_expression "pcStack_240 + -0x73a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 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 "piVar51 = (int *)((int)puVar9[7] / iVar4);" (assignment_expression "piVar51 = (int *)((int)puVar9[7] / iVar4)" identifier = (cast_expression "(int *)((int)puVar9[7] / iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9[7] / iVar4)" ( (binary_expression "(int)puVar9[7] / iVar4" (cast_expression "(int)puVar9[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[7]" identifier [ number_literal ])) / identifier) )))) ;) (expression_statement "iVar4 = (int)puVar9[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar9[7] % iVar4" identifier = (binary_expression "(int)puVar9[7] % iVar4" (cast_expression "(int)puVar9[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[7]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4)" identifier = (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 < iVar4)" ( (binary_expression "iVar5 < iVar4" identifier < identifier) ))))) ;) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }" { (expression_statement "piVar51 = (int *)((int)piVar51 + 1);" (assignment_expression "piVar51 = (int *)((int)piVar51 + 1)" identifier = (cast_expression "(int *)((int)piVar51 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar51 + 1)" ( (binary_expression "(int)piVar51 + 1" (cast_expression "(int)piVar51" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4)" identifier = (cast_expression "(float *)((int)piVar51 * iVar5 + iVar4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar51 * iVar5 + iVar4)" ( (binary_expression "(int)piVar51 * iVar5 + iVar4" (binary_expression "(int)piVar51 * iVar5" (cast_expression "(int)piVar51" ( (type_descriptor "int" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (expression_statement "pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);" (assignment_expression "pfStack_234 = (float *)((int)piVar51 + (int)pfVar30)" identifier = (cast_expression "(float *)((int)piVar51 + (int)pfVar30)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar51 + (int)pfVar30)" ( (binary_expression "(int)piVar51 + (int)pfVar30" (cast_expression "(int)piVar51" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (if_statement "if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }" if (parenthesized_expression "((int)pfVar30 < (int)pfStack_234)" ( (binary_expression "(int)pfVar30 < (int)pfStack_234" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfStack_234" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }" { (expression_statement "unaff_s6 = &pfStack_220;" (assignment_expression "unaff_s6 = &pfStack_220" identifier = (pointer_expression "&pfStack_220" & identifier)) ;) (expression_statement "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);" (assignment_expression "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" identifier = (cast_expression "(double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" identifier (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" ( (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" ( (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (subscript_expression "puVar36[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "unaff_s4 = puVar36[4];" (assignment_expression "unaff_s4 = puVar36[4]" identifier = (subscript_expression "puVar36[4]" identifier [ number_literal ])) ;) (expression_statement "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_240 + -0x7fd0)" * (cast_expression "(int *)(pcStack_240 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fd0)" ( (binary_expression "pcStack_240 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puStack_230 = (undefined4 *)puVar36[6];" (assignment_expression "puStack_230 = (undefined4 *)puVar36[6]" identifier = (cast_expression "(undefined4 *)puVar36[6]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s5 = (undefined4 *)puVar36[2];" (assignment_expression "unaff_s5 = (undefined4 *)puVar36[2]" identifier = (cast_expression "(undefined4 *)puVar36[2]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[2]" identifier [ number_literal ]))) ;) (expression_statement "param_1 = (undefined4 *)puVar36[1];" (assignment_expression "param_1 = (undefined4 *)puVar36[1]" identifier = (cast_expression "(undefined4 *)puVar36[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[1]" identifier [ number_literal ]))) ;) (expression_statement "puStack_22c = (undefined *)puVar36[5];" (assignment_expression "puStack_22c = (undefined *)puVar36[5]" identifier = (cast_expression "(undefined *)puVar36[5]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[5]" identifier [ number_literal ]))) ;) (expression_statement "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);" (assignment_expression "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" identifier = (cast_expression "(undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" ( (binary_expression "*(int *)(pcStack_240 + -0x7fcc) + 0x2a14" (pointer_expression "*(int *)(pcStack_240 + -0x7fcc)" * (cast_expression "(int *)(pcStack_240 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_240 + -0x7fcc)" ( (binary_expression "pcStack_240 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);" do (compound_statement "{\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" { (if_statement "if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" if (parenthesized_expression "(puVar36[7] != 0)" ( (binary_expression "puVar36[7] != 0" (subscript_expression "puVar36[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" { (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = puVar9[6];" (assignment_expression "param_4 = puVar9[6]" identifier = (subscript_expression "puVar9[6]" identifier [ number_literal ])) ;) (expression_statement "puStack_244 = puStack_22c;" (assignment_expression "puStack_244 = puStack_22c" identifier = identifier) ;) (expression_statement "iStack_248 = 1;" (assignment_expression "iStack_248 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" identifier = identifier) ;) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" identifier = identifier) ;) (expression_statement "piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();" (assignment_expression "piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))()" identifier = (cast_expression "(int *)(**(code **)(pcVar37 + -0x7264))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar37 + -0x7264))()" (parenthesized_expression "(**(code **)(pcVar37 + -0x7264))" ( (pointer_expression "**(code **)(pcVar37 + -0x7264)" * (pointer_expression "*(code **)(pcVar37 + -0x7264)" * (cast_expression "(code **)(pcVar37 + -0x7264)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + -0x7264)" ( (binary_expression "pcVar37 + -0x7264" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" if (parenthesized_expression "(piVar51 == (int *)0x0)" ( (binary_expression "piVar51 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }" { (labeled_statement "LAB_00123f74:\n          puVar36[7] = 0;" statement_identifier : (expression_statement "puVar36[7] = 0;" (assignment_expression "puVar36[7] = 0" (subscript_expression "puVar36[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) }) (else_clause "else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" else (compound_statement "{\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" { (expression_statement "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);" (call_expression "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75fc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x75fc)" * (pointer_expression "*(code **)(pcStack_240 + -0x75fc)" * (cast_expression "(code **)(pcStack_240 + -0x75fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x75fc)" ( (binary_expression "pcStack_240 + -0x75fc" identifier + number_literal) ))))) )) (argument_list "(puVar9,unaff_s6)" ( identifier , identifier ))) ;) (if_statement "if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }" if (parenthesized_expression "(0 < (int)puVar9[6])" ( (binary_expression "0 < (int)puVar9[6]" number_literal < (cast_expression "(int)puVar9[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }" { (expression_statement "puVar21 = (undefined4 *)0x0;" (assignment_expression "puVar21 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);" do (compound_statement "{\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            }" { (expression_statement "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);" (call_expression "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x78bc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x78bc)" * (pointer_expression "*(code **)(pcStack_240 + -0x78bc)" * (cast_expression "(code **)(pcStack_240 + -0x78bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x78bc)" ( (binary_expression "pcStack_240 + -0x78bc" identifier + number_literal) ))))) )) (argument_list "(unaff_s6,0,0x58)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_210 = *(undefined8 *)(puVar9 + 0x92);" (assignment_expression "uStack_210 = *(undefined8 *)(puVar9 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar9 + 0x92)" * (cast_expression "(undefined8 *)(puVar9 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x92)" ( (binary_expression "puVar9 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "pfStack_220 = (float *)*puVar9;" (assignment_expression "pfStack_220 = (float *)*puVar9" identifier = (cast_expression "(float *)*puVar9" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "uStack_21c = puVar9[1];" (assignment_expression "uStack_21c = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_208 = puVar9[8];" (assignment_expression "uStack_208 = puVar9[8]" identifier = (subscript_expression "puVar9[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_218 = puVar9[0xaf];" (assignment_expression "uStack_218 = puVar9[0xaf]" identifier = (subscript_expression "puVar9[0xaf]" identifier [ number_literal ])) ;) (expression_statement "param_3 = pfStack_220;" (assignment_expression "param_3 = pfStack_220" identifier = identifier) ;) (expression_statement "dStack_1d8 = in_f22_23;" (assignment_expression "dStack_1d8 = in_f22_23" identifier = identifier) ;) (if_statement "if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }" if (parenthesized_expression "(piVar51 != (int *)0x0)" ( (binary_expression "piVar51 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }" { (expression_statement "iVar4 = puVar9[0xb4];" (assignment_expression "iVar4 = puVar9[0xb4]" identifier = (subscript_expression "puVar9[0xb4]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));" (assignment_expression "param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8))" identifier = (cast_expression "(float *)(piVar51 + *(int *)(iVar4 + 8))" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar51 + *(int *)(iVar4 + 8))" ( (binary_expression "piVar51 + *(int *)(iVar4 + 8)" identifier + (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "dStack_1f8 = (double)*param_3;" (assignment_expression "dStack_1f8 = (double)*param_3" identifier = (cast_expression "(double)*param_3" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*param_3" * identifier))) ;) (expression_statement "dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];" (assignment_expression "dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x14)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x14)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x14)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) ])))) ;) (expression_statement "dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];" (assignment_expression "dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x20)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x20)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x20)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x20)" * (cast_expression "(int *)(iVar4 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) )))) ])))) ;) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" * (cast_expression "(int *)(iVar4 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }" { (expression_statement "dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];" (assignment_expression "dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x2c)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x2c)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x2c)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x2c)" * (cast_expression "(int *)(iVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c)" ( (binary_expression "iVar4 + 0x2c" identifier + number_literal) )))) ])))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" * (cast_expression "(int *)(iVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x34)" ( (binary_expression "iVar4 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }" { (expression_statement "uStack_218 = 4;" (assignment_expression "uStack_218 = 4" identifier = number_literal) ;) (expression_statement "dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];" (assignment_expression "dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x38)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x38)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x38)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x38)" * (cast_expression "(int *)(iVar4 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x38)" ( (binary_expression "iVar4 + 0x38" identifier + number_literal) )))) ])))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }" { (expression_statement "dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];" (assignment_expression "dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)]" identifier = (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x44)]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x44)]" ( (type_descriptor "float" primitive_type) ) (subscript_expression "piVar51[*(int *)(iVar4 + 0x44)]" identifier [ (pointer_expression "*(int *)(iVar4 + 0x44)" * (cast_expression "(int *)(iVar4 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) ])))) ;) })) })) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (if_statement "if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" if (parenthesized_expression "(((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0))" ( (binary_expression "((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)" (parenthesized_expression "((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10)))" ( (binary_expression "(*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))" (parenthesized_expression "(*(double *)(param_1 + 10) <= dStack_1f8)" ( (binary_expression "*(double *)(param_1 + 10) <= dStack_1f8" (pointer_expression "*(double *)(param_1 + 10)" * (cast_expression "(double *)(param_1 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) <= identifier) )) && (parenthesized_expression "(dStack_1f8 <= *(double *)(unaff_s5 + 10))" ( (binary_expression "dStack_1f8 <= *(double *)(unaff_s5 + 10)" identifier <= (pointer_expression "*(double *)(unaff_s5 + 10)" * (cast_expression "(double *)(unaff_s5 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 10)" ( (binary_expression "unaff_s5 + 10" identifier + number_literal) ))))) ))) )) && (parenthesized_expression "(*(double *)(param_1 + 0xc) <= dStack_1f0)" ( (binary_expression "*(double *)(param_1 + 0xc) <= dStack_1f0" (pointer_expression "*(double *)(param_1 + 0xc)" * (cast_expression "(double *)(param_1 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" { (if_statement "if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" if (parenthesized_expression "((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe)))" ( (binary_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))" (parenthesized_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0)" ( (binary_expression "*(double *)(unaff_s5 + 0xc) < dStack_1f0" (pointer_expression "*(double *)(unaff_s5 + 0xc)" * (cast_expression "(double *)(unaff_s5 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0xc)" ( (binary_expression "unaff_s5 + 0xc" identifier + number_literal) )))) < identifier) )) || (parenthesized_expression "(dStack_1e8 < *(double *)(param_1 + 0xe))" ( (binary_expression "dStack_1e8 < *(double *)(param_1 + 0xe)" identifier < (pointer_expression "*(double *)(param_1 + 0xe)" * (cast_expression "(double *)(param_1 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe)" ( (binary_expression "param_1 + 0xe" identifier + number_literal) ))))) ))) )) (compound_statement "{\n                  uVar10 = 0;\n                }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" else (compound_statement "{\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" { (expression_statement "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));" (assignment_expression "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" identifier = (call_expression "(uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" ( (binary_expression "dStack_1e8 <= *(double *)(unaff_s5 + 0xe)" identifier <= (pointer_expression "*(double *)(unaff_s5 + 0xe)" * (cast_expression "(double *)(unaff_s5 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + 0xe)" ( (binary_expression "unaff_s5 + 0xe" identifier + number_literal) ))))) )))) ;) }))) })) (if_statement "if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" if (parenthesized_expression "((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0))" ( (binary_expression "(unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s4 != uVar10)" ( (binary_expression "unaff_s4 != uVar10" identifier != identifier) )) && (parenthesized_expression "(*(int *)(puVar9[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)(puVar9[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar9[0xb4] + 0x34)" * (cast_expression "(int *)(puVar9[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9[0xb4] + 0x34)" ( (binary_expression "puVar9[0xb4] + 0x34" (subscript_expression "puVar9[0xb4]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" { (expression_statement "piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);" (assignment_expression "piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0)" (subscript_expression "piVar51[*(int *)(puVar9[0xb4] + 0x38)]" identifier [ (pointer_expression "*(int *)(puVar9[0xb4] + 0x38)" * (cast_expression "(int *)(puVar9[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9[0xb4] + 0x38)" ( (binary_expression "puVar9[0xb4] + 0x38" (subscript_expression "puVar9[0xb4]" identifier [ number_literal ]) + number_literal) )))) ]) = (call_expression "SUB84(in_f20_21,0)" identifier (argument_list "(in_f20_21,0)" ( identifier , number_literal )))) ;) })) (expression_statement "puVar21 = (undefined4 *)((int)puVar21 + 1);" (assignment_expression "puVar21 = (undefined4 *)((int)puVar21 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar21 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 1)" ( (binary_expression "(int)puVar21 + 1" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar51 = piVar51 + puVar9[0xb0];" (assignment_expression "piVar51 = piVar51 + puVar9[0xb0]" identifier = (binary_expression "piVar51 + puVar9[0xb0]" identifier + (subscript_expression "puVar9[0xb0]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((int)puVar21 < (int)puVar9[6])" ( (binary_expression "(int)puVar21 < (int)puVar9[6]" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar9[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar9[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" identifier = identifier) ;) (expression_statement "param_2 = puStack_22c;" (assignment_expression "param_2 = puStack_22c" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x73b8))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x73b8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73b8))" ( (pointer_expression "**(code **)(pcStack_240 + -0x73b8)" * (pointer_expression "*(code **)(pcStack_240 + -0x73b8)" * (cast_expression "(code **)(pcStack_240 + -0x73b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x73b8)" ( (binary_expression "pcStack_240 + -0x73b8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar36[7] = 0;\n          }" { (expression_statement "puVar36[7] = 0;" (assignment_expression "puVar36[7] = 0" (subscript_expression "puVar36[7]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (if_statement "if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" if (parenthesized_expression "(puVar9[0xca] != 0)" ( (binary_expression "puVar9[0xca] != 0" (subscript_expression "puVar9[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" { (expression_statement "piVar51 = (int *)puVar36[8];" (assignment_expression "piVar51 = (int *)puVar36[8]" identifier = (cast_expression "(int *)puVar36[8]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[8]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(pcStack_240 + -0x75cc))();" (call_expression "(**(code **)(pcStack_240 + -0x75cc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75cc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x75cc)" * (pointer_expression "*(code **)(pcStack_240 + -0x75cc)" * (cast_expression "(code **)(pcStack_240 + -0x75cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x75cc)" ( (binary_expression "pcStack_240 + -0x75cc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = piVar51[1];" (assignment_expression "uVar10 = piVar51[1]" identifier = (subscript_expression "piVar51[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcVar37 = *(code **)(pcStack_240 + -0x7478);" (assignment_expression "pcVar37 = *(code **)(pcStack_240 + -0x7478)" identifier = (pointer_expression "*(code **)(pcStack_240 + -0x7478)" * (cast_expression "(code **)(pcStack_240 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7478)" ( (binary_expression "pcStack_240 + -0x7478" identifier + number_literal) ))))) ;) (expression_statement "piVar51[1] = uVar22;" (assignment_expression "piVar51[1] = uVar22" (subscript_expression "piVar51[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar51 = (uint)(uVar22 < uVar10) + *piVar51;" (assignment_expression "*piVar51 = (uint)(uVar22 < uVar10) + *piVar51" (pointer_expression "*piVar51" * identifier) = (binary_expression "(uint)(uVar22 < uVar10) + *piVar51" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar10)" ( (binary_expression "uVar22 < uVar10" identifier < identifier) ))) + (pointer_expression "*piVar51" * identifier))) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_244 = (undefined *)puVar9[7];" (assignment_expression "puStack_244 = (undefined *)puVar9[7]" identifier = (cast_expression "(undefined *)puVar9[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar9[7]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = ((undefined4 *)puVar36[8])[1];" (assignment_expression "param_4 = ((undefined4 *)puVar36[8])[1]" identifier = (subscript_expression "((undefined4 *)puVar36[8])[1]" (parenthesized_expression "((undefined4 *)puVar36[8])" ( (cast_expression "(undefined4 *)puVar36[8]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[8]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "param_3 = *(float **)puVar36[8];" (assignment_expression "param_3 = *(float **)puVar36[8]" identifier = (pointer_expression "*(float **)puVar36[8]" * (cast_expression "(float **)puVar36[8]" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar36[8]" identifier [ number_literal ])))) ;) (expression_statement "iStack_248 = 0;" (assignment_expression "iStack_248 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = puVar9;" (assignment_expression "puVar6 = puVar9" identifier = identifier) ;) (expression_statement "param_2 = puStack_224;" (assignment_expression "param_2 = puStack_224" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))()" identifier = (call_expression "(**(code **)(pcStack_240 + -0x7bfc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7bfc))" ( (pointer_expression "**(code **)(pcStack_240 + -0x7bfc)" * (pointer_expression "*(code **)(pcStack_240 + -0x7bfc)" * (cast_expression "(code **)(pcStack_240 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_240 + -0x7bfc)" ( (binary_expression "pcStack_240 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_00123f74;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123f74;" goto statement_identifier ;)) })) }))) })) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" identifier = (cast_expression "(float *)((int)pfVar30 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar30 + 1)" ( (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pfStack_234 != pfVar30)" ( (binary_expression "pfStack_234 != pfVar30" identifier != identifier) )) ;) })) (if_statement "if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }" if (parenthesized_expression "(iStack_1c4 == *piStack_228)" ( (binary_expression "iStack_1c4 == *piStack_228" identifier == (pointer_expression "*piStack_228" * identifier)) )) (compound_statement "{\n    return *piStack_228;\n  }" { (return_statement "return *piStack_228;" return (pointer_expression "*piStack_228" * identifier) ;) })) (expression_statement "pcVar38 = *(code **)(pcVar37 + -0x784c);" (assignment_expression "pcVar38 = *(code **)(pcVar37 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar37 + -0x784c)" * (cast_expression "(code **)(pcVar37 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + -0x784c)" ( (binary_expression "pcVar37 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = FloodfillPaintImage;" (assignment_expression "pcVar39 = FloodfillPaintImage" identifier = identifier) ;) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" identifier = identifier) ;) (expression_statement "piVar34 = *(int **)(pcVar38 + 0x285224);" (assignment_expression "piVar34 = *(int **)(pcVar38 + 0x285224)" identifier = (pointer_expression "*(int **)(pcVar38 + 0x285224)" * (cast_expression "(int **)(pcVar38 + 0x285224)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285224)" ( (binary_expression "pcVar38 + 0x285224" identifier + number_literal) ))))) ;) (expression_statement "iStack_2b4 = *piVar34;" (assignment_expression "iStack_2b4 = *piVar34" identifier = (pointer_expression "*piVar34" * identifier)) ;) (expression_statement "pfStack_2b0 = pfVar30;" (assignment_expression "pfStack_2b0 = pfVar30" identifier = identifier) ;) (expression_statement "piStack_2ac = piVar51;" (assignment_expression "piStack_2ac = piVar51" identifier = identifier) ;) (expression_statement "puStack_2a8 = puVar36;" (assignment_expression "puStack_2a8 = puVar36" identifier = identifier) ;) (expression_statement "puStack_2a4 = param_1;" (assignment_expression "puStack_2a4 = param_1" identifier = identifier) ;) (expression_statement "uStack_2a0 = unaff_s4;" (assignment_expression "uStack_2a0 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_29c = unaff_s5;" (assignment_expression "puStack_29c = unaff_s5" identifier = identifier) ;) (expression_statement "ppfStack_298 = unaff_s6;" (assignment_expression "ppfStack_298 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_294 = puVar21;" (assignment_expression "puStack_294 = puVar21" identifier = identifier) ;) (expression_statement "puStack_290 = puVar9;" (assignment_expression "puStack_290 = puVar9" identifier = identifier) ;) (expression_statement "pcStack_28c = pcVar39;" (assignment_expression "pcStack_28c = pcVar39" identifier = identifier) ;) (expression_statement "dStack_288 = in_f20_21;" (assignment_expression "dStack_288 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_280 = in_f22_23;" (assignment_expression "dStack_280 = in_f22_23" identifier = identifier) ;) (if_statement "if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;" if (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" ( (binary_expression "puVar6 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001250a8;" goto statement_identifier ;)) (if_statement "if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" if (parenthesized_expression "(puVar6[0xcdb] == -0x54535255)" ( (binary_expression "puVar6[0xcdb] == -0x54535255" (subscript_expression "puVar6[0xcdb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }" { (if_statement "if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" if (parenthesized_expression "(puVar6[0xcd4] != 0)" ( (binary_expression "puVar6[0xcd4] != 0" (subscript_expression "puVar6[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" { (expression_statement "(**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);" (call_expression "(**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2851d4))" ( (pointer_expression "**(code **)(pcVar38 + 0x2851d4)" * (pointer_expression "*(code **)(pcVar38 + 0x2851d4)" * (cast_expression "(code **)(pcVar38 + 0x2851d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2851d4)" ( (binary_expression "pcVar38 + 0x2851d4" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + -0x62ac" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar6 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" if (parenthesized_expression "(param_2 != (undefined *)0x0)" ( (binary_expression "param_2 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" { (if_statement "if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" if (parenthesized_expression "(*(int *)(param_2 + 0x390) == -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x390) == -0x54535255" (pointer_expression "*(int *)(param_2 + 0x390)" * (cast_expression "(int *)(param_2 + 0x390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x390)" ( (binary_expression "param_2 + 0x390" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" { (if_statement "if (param_4 < 0) goto LAB_001240e8;" if (parenthesized_expression "(param_4 < 0)" ( (binary_expression "param_4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if ((int)puVar6[6] <= param_4) goto LAB_001240e8;" if (parenthesized_expression "((int)puVar6[6] <= param_4)" ( (binary_expression "(int)puVar6[6] <= param_4" (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if (iStack_248 < 0) goto LAB_001240e8;" if (parenthesized_expression "(iStack_248 < 0)" ( (binary_expression "iStack_248 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;" if (parenthesized_expression "((int)puVar6[7] <= iStack_248)" ( (binary_expression "(int)puVar6[7] <= iStack_248" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);" (assignment_expression "iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285818))" ( (pointer_expression "**(code **)(pcVar38 + 0x285818)" * (pointer_expression "*(code **)(pcVar38 + 0x285818)" * (cast_expression "(code **)(pcVar38 + 0x285818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285818)" ( (binary_expression "pcVar38 + 0x285818" identifier + number_literal) ))))) )) (argument_list "(puVar6,1,pcVar37)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001240e8;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (if_statement "if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" if (parenthesized_expression "(puVar6[1] == 0x21)" ( (binary_expression "puVar6[1] == 0x21" (subscript_expression "puVar6[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284d34);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284d34)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284d34)" * (cast_expression "(code **)(pcVar38 + 0x284d34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284d34)" ( (binary_expression "pcVar38 + 0x284d34" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" else (compound_statement "{\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284d34);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284d34)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284d34)" * (cast_expression "(code **)(pcVar38 + 0x284d34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284d34)" ( (binary_expression "pcVar38 + 0x284d34" identifier + number_literal) ))))) ;) (if_statement "if (puVar6[1] != 3) goto LAB_001241b0;" if (parenthesized_expression "(puVar6[1] != 3)" ( (binary_expression "puVar6[1] != 3" (subscript_expression "puVar6[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_001241b0;" goto statement_identifier ;)) }))) (expression_statement "(*pcVar39)(puVar6,0x17,pcVar37);" (call_expression "(*pcVar39)(puVar6,0x17,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(puVar6,0x17,pcVar37)" ( identifier , number_literal , identifier ))) ;) (labeled_statement "LAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" statement_identifier : (if_statement "if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" if (parenthesized_expression "((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0))" ( (binary_expression "(puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)" (parenthesized_expression "(puVar6[0xaf] == 0)" ( (binary_expression "puVar6[0xaf] == 0" (subscript_expression "puVar6[0xaf]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(*(int *)(param_2 + 0x50) != 0)" ( (binary_expression "*(int *)(param_2 + 0x50) != 0" (pointer_expression "*(int *)(param_2 + 0x50)" * (cast_expression "(int *)(param_2 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" { (expression_statement "(**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284c6c))" ( (pointer_expression "**(code **)(pcVar38 + 0x284c6c)" * (pointer_expression "*(code **)(pcVar38 + 0x284c6c)" * (cast_expression "(code **)(pcVar38 + 0x284c6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284c6c)" ( (binary_expression "pcVar38 + 0x284c6c" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) )))) , identifier ))) ;) }))) (expression_statement "iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);" (assignment_expression "iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285824))" ( (pointer_expression "**(code **)(pcVar38 + 0x285824)" * (pointer_expression "*(code **)(pcVar38 + 0x285824)" * (cast_expression "(code **)(pcVar38 + 0x285824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285824)" ( (binary_expression "pcVar38 + 0x285824" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,0,1,pcVar37)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_001240e8;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001240e8;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(pcVar38 + 0x2848d8);" (assignment_expression "iVar5 = *(int *)(pcVar38 + 0x2848d8)" identifier = (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) ))))) ;) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284e08);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284e08)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284e08)" * (cast_expression "(code **)(pcVar38 + 0x284e08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284e08)" ( (binary_expression "pcVar38 + 0x284e08" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar4 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 700)" * (cast_expression "(undefined4 *)(iVar4 + 700)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 700)" ( (binary_expression "iVar4 + 700" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar4 + 4) = 3;" (assignment_expression "*(undefined4 *)(iVar4 + 4) = 3" (pointer_expression "*(undefined4 *)(iVar4 + 4)" * (cast_expression "(undefined4 *)(iVar4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);" (call_expression "(*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37)" ( (binary_expression "iVar5 + 0x2a38" identifier + number_literal) , number_literal , (binary_expression "iVar4 + 0x88" identifier + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284e84))" ( (pointer_expression "**(code **)(pcVar38 + 0x284e84)" * (pointer_expression "*(code **)(pcVar38 + 0x284e84)" * (cast_expression "(code **)(pcVar38 + 0x284e84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284e84)" ( (binary_expression "pcVar38 + 0x284e84" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar37)" ( identifier , identifier ))) ;) (expression_statement "iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);" (assignment_expression "iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20)" identifier = (call_expression "(**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2852c0))" ( (pointer_expression "**(code **)(pcVar38 + 0x2852c0)" * (pointer_expression "*(code **)(pcVar38 + 0x2852c0)" * (cast_expression "(code **)(pcVar38 + 0x2852c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2852c0)" ( (binary_expression "pcVar38 + 0x2852c0" identifier + number_literal) ))))) )) (argument_list "(0x80000,0x20)" ( number_literal , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(pcVar38 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar38 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f40))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f40)" * (pointer_expression "*(code **)(pcVar38 + 0x284f40)" * (cast_expression "(code **)(pcVar38 + 0x284f40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f40)" ( (binary_expression "pcVar38 + 0x284f40" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);" (call_expression "(**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f14))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f14)" * (pointer_expression "*(code **)(pcVar38 + 0x284f14)" * (cast_expression "(code **)(pcVar38 + 0x284f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f14)" ( (binary_expression "pcVar38 + 0x284f14" identifier + number_literal) ))))) )) (argument_list "(pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6)" ( identifier , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x16f8" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;) })) (expression_statement "pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);" (assignment_expression "pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5)" identifier = (cast_expression "(double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar38 + 0x284f1c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f1c))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f1c)" * (pointer_expression "*(code **)(pcVar38 + 0x284f1c)" * (cast_expression "(code **)(pcVar38 + 0x284f1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f1c)" ( (binary_expression "pcVar38 + 0x284f1c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "iVar50 = puVar6[7];" (assignment_expression "iVar50 = puVar6[7]" identifier = (subscript_expression "puVar6[7]" identifier [ number_literal ])) ;) (expression_statement "pdVar33 = pdVar12;" (assignment_expression "pdVar33 = pdVar12" identifier = identifier) ;) (if_statement "if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }" if (parenthesized_expression "(iStack_248 + 1 < iVar50)" ( (binary_expression "iStack_248 + 1 < iVar50" (binary_expression "iStack_248 + 1" identifier + number_literal) < identifier) )) (compound_statement "{\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }" { (expression_statement "iVar13 = *(int *)(pcVar38 + 0x2848d4);" (assignment_expression "iVar13 = *(int *)(pcVar38 + 0x2848d4)" identifier = (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) ))))) ;) (expression_statement "*pdVar12 = (double)param_4;" (assignment_expression "*pdVar12 = (double)param_4" (pointer_expression "*pdVar12" * identifier) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar12[2] = (double)param_4;" (assignment_expression "pdVar12[2] = (double)param_4" (subscript_expression "pdVar12[2]" identifier [ number_literal ]) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar40 = *(double *)(iVar13 + 0x1438);" (assignment_expression "dVar40 = *(double *)(iVar13 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar13 + 0x1438)" * (cast_expression "(double *)(iVar13 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1438)" ( (binary_expression "iVar13 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "pdVar12[1] = (double)iStack_248;" (assignment_expression "pdVar12[1] = (double)iStack_248" (subscript_expression "pdVar12[1]" identifier [ number_literal ]) = (cast_expression "(double)iStack_248" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar12[3] = dVar40;" (assignment_expression "pdVar12[3] = dVar40" (subscript_expression "pdVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pdVar33 = pdVar12 + 4;" (assignment_expression "pdVar33 = pdVar12 + 4" identifier = (binary_expression "pdVar12 + 4" identifier + number_literal)) ;) })) (expression_statement "pdVar14 = pdVar12 + 0x200000;" (assignment_expression "pdVar14 = pdVar12 + 0x200000" identifier = (binary_expression "pdVar12 + 0x200000" identifier + number_literal)) ;) (if_statement "if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }" if (parenthesized_expression "(pdVar14 <= pdVar33)" ( (binary_expression "pdVar14 <= pdVar33" identifier <= identifier) )) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar27 = 0xd4;" (assignment_expression "uVar27 = 0xd4" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2852a8);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2852a8)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2852a8)" * (cast_expression "(code **)(pcVar38 + 0x2852a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2852a8)" ( (binary_expression "pcVar38 + 0x2852a8" identifier + number_literal) ))))) ;) (expression_statement "pdVar32 = pdVar33;" (assignment_expression "pdVar32 = pdVar33" identifier = identifier) ;) (if_statement "if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }" if (parenthesized_expression "(iStack_248 < iVar50)" ( (binary_expression "iStack_248 < iVar50" identifier < identifier) )) (compound_statement "{\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }" { (expression_statement "iVar50 = *(int *)(pcVar38 + 0x2848d4);" (assignment_expression "iVar50 = *(int *)(pcVar38 + 0x2848d4)" identifier = (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) ))))) ;) (expression_statement "pdVar32 = pdVar33 + 4;" (assignment_expression "pdVar32 = pdVar33 + 4" identifier = (binary_expression "pdVar33 + 4" identifier + number_literal)) ;) (expression_statement "*pdVar33 = (double)param_4;" (assignment_expression "*pdVar33 = (double)param_4" (pointer_expression "*pdVar33" * identifier) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[2] = (double)param_4;" (assignment_expression "pdVar33[2] = (double)param_4" (subscript_expression "pdVar33[2]" identifier [ number_literal ]) = (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar40 = *(double *)(iVar50 + 0x1a78);" (assignment_expression "dVar40 = *(double *)(iVar50 + 0x1a78)" identifier = (pointer_expression "*(double *)(iVar50 + 0x1a78)" * (cast_expression "(double *)(iVar50 + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar50 + 0x1a78)" ( (binary_expression "iVar50 + 0x1a78" identifier + number_literal) ))))) ;) (expression_statement "pdVar33[1] = (double)(iStack_248 + 1);" (assignment_expression "pdVar33[1] = (double)(iStack_248 + 1)" (subscript_expression "pdVar33[1]" identifier [ number_literal ]) = (cast_expression "(double)(iStack_248 + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(iStack_248 + 1)" ( (binary_expression "iStack_248 + 1" identifier + number_literal) )))) ;) (expression_statement "pdVar33[3] = dVar40;" (assignment_expression "pdVar33[3] = dVar40" (subscript_expression "pdVar33[3]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(*pcVar39)(puVar6,&uStack_310);" (call_expression "(*pcVar39)(puVar6,&uStack_310)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(puVar6,&uStack_310)" ( identifier , (pointer_expression "&uStack_310" & identifier) ))) ;) (expression_statement "uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);" (assignment_expression "uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285748))" ( (pointer_expression "**(code **)(pcVar38 + 0x285748)" * (pointer_expression "*(code **)(pcVar38 + 0x285748)" * (cast_expression "(code **)(pcVar38 + 0x285748)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285748)" ( (binary_expression "pcVar38 + 0x285748" identifier + number_literal) ))))) )) (argument_list "(puVar6,pcVar37)" ( identifier , identifier )))) ;) (expression_statement "uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);" (assignment_expression "uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ec8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284ec8)" * (pointer_expression "*(code **)(pcVar38 + 0x284ec8)" * (cast_expression "(code **)(pcVar38 + 0x284ec8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284ec8)" ( (binary_expression "pcVar38 + 0x284ec8" identifier + number_literal) ))))) )) (argument_list "(iVar4,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }" if (parenthesized_expression "(pdVar12 < pdVar32)" ( (binary_expression "pdVar12 < pdVar32" identifier < identifier) )) (compound_statement "{\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }" { (expression_statement "dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);" (assignment_expression "dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a58" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar40 = dVar45;" (assignment_expression "dVar40 = dVar45" identifier = identifier) ;) (expression_statement "dVar47 = dVar45;" (assignment_expression "dVar47 = dVar45" identifier = identifier) ;) (do_statement "do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);" do (compound_statement "{\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          }" { (expression_statement "pdVar33 = pdVar32 + -4;" (assignment_expression "pdVar33 = pdVar32 + -4" identifier = (binary_expression "pdVar32 + -4" identifier + number_literal)) ;) (expression_statement "uVar22 = (uint)pdVar32[-4];" (assignment_expression "uVar22 = (uint)pdVar32[-4]" identifier = (cast_expression "(uint)pdVar32[-4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pdVar32[-4]" identifier [ number_literal ]))) ;) (expression_statement "iVar44 = (int)pdVar32[-1];" (assignment_expression "iVar44 = (int)pdVar32[-1]" identifier = (cast_expression "(int)pdVar32[-1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar32[-1]" identifier [ number_literal ]))) ;) (expression_statement "iVar43 = (int)pdVar32[-3];" (assignment_expression "iVar43 = (int)pdVar32[-3]" identifier = (cast_expression "(int)pdVar32[-3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar32[-3]" identifier [ number_literal ]))) ;) (expression_statement "iVar41 = (int)pdVar32[-2];" (assignment_expression "iVar41 = (int)pdVar32[-2]" identifier = (cast_expression "(int)pdVar32[-2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pdVar32[-2]" identifier [ number_literal ]))) ;) (expression_statement "uVar10 = uVar22 + 1;" (assignment_expression "uVar10 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (expression_statement "iVar50 = iVar43 + iVar44;" (assignment_expression "iVar50 = iVar43 + iVar44" identifier = (binary_expression "iVar43 + iVar44" identifier + identifier)) ;) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar27,0,iVar50,uVar10,1,pcVar37)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar15,0,iVar50,uVar10,1,pcVar37)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "puVar17 = puStack_244;" (assignment_expression "puVar17 = puStack_244" identifier = identifier) ;) (if_statement "if ((iVar13 == 0) || (iVar16 == 0)) break;" if (parenthesized_expression "((iVar13 == 0) || (iVar16 == 0))" ( (binary_expression "(iVar13 == 0) || (iVar16 == 0)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;" (assignment_expression "iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13" identifier = (binary_expression "puVar6[0xb0] * 4 * uVar22 + iVar13" (binary_expression "puVar6[0xb0] * 4 * uVar22" (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal) * identifier) + identifier)) ;) (expression_statement "iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;" (assignment_expression "iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16" identifier = (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar22" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal) * identifier) + identifier)) ;) (expression_statement "uVar35 = uVar22;" (assignment_expression "uVar35 = uVar22" identifier = identifier) ;) (if_statement "if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar22 < 0)" ( (binary_expression "(int)uVar22 < 0" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);" statement_identifier : (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" identifier = (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;)) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) }) (else_clause "else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" else (compound_statement "{\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (if_statement "if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;" if (parenthesized_expression "(*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)" ( (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) != number_literal) )) (goto_statement "goto LAB_00125018;" goto statement_identifier ;)) (do_statement "do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);" do (compound_statement "{\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              }" { (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" * (cast_expression "(code **)(pcVar38 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284fe8)" ( (binary_expression "pcVar38 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar47;" (assignment_expression "dStack_2c8 = dVar47" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }" { (labeled_statement "LAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" else (compound_statement "{\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" { (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" * (cast_expression "(int *)(iVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x40)" ( (binary_expression "iVar19 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" * (cast_expression "(int *)(iVar19 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x44)" ( (binary_expression "iVar19 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_001245ec;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3)" identifier = (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(&uStack_310,param_3)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }" if (parenthesized_expression "(puVar7 == puVar17)" ( (binary_expression "puVar7 == puVar17" identifier == identifier) )) (compound_statement "{\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "uVar35 = uVar35 - 1;" (assignment_expression "uVar35 = uVar35 - 1" identifier = (binary_expression "uVar35 - 1" identifier - number_literal)) ;) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * -4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * -4" identifier = (binary_expression "iVar13 + puVar6[0xb0] * -4" identifier + (binary_expression "puVar6[0xb0] * -4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier = (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ;) (expression_statement "puVar36 = (undefined4 *)(iVar16 + iVar19);" (assignment_expression "puVar36 = (undefined4 *)(iVar16 + iVar19)" identifier = (cast_expression "(undefined4 *)(iVar16 + iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) ;) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4" identifier = (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * -4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * -4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*puVar36 = (int)uVar48;" (assignment_expression "*puVar36 = (int)uVar48" (pointer_expression "*puVar36" * identifier) = (cast_expression "(int)uVar48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" if (parenthesized_expression "(uVar35 == 0xffffffff)" ( (binary_expression "uVar35 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" { (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2854ec))" ( (pointer_expression "**(code **)(pcVar38 + 0x2854ec)" * (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0012465c;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012465c;" goto statement_identifier ;)) (expression_statement "uVar24 = uVar22 >> 0x1f;" (assignment_expression "uVar24 = uVar22 >> 0x1f" identifier = (binary_expression "uVar22 >> 0x1f" identifier >> number_literal)) ;) (goto_statement "goto LAB_00124dbc;" goto statement_identifier ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(float *)(iVar16 + iVar19) == 0.0)" ( (binary_expression "*(float *)(iVar16 + iVar19) == 0.0" (pointer_expression "*(float *)(iVar16 + iVar19)" * (cast_expression "(float *)(iVar16 + iVar19)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) == number_literal) )) ;) (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" identifier = (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar24 = (int)uVar35 < (int)uVar22 ^ 1;" (assignment_expression "uVar24 = (int)uVar35 < (int)uVar22 ^ 1" identifier = (binary_expression "(int)uVar35 < (int)uVar22 ^ 1" (binary_expression "(int)uVar35 < (int)uVar22" (cast_expression "(int)uVar35" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ^ number_literal)) ;) (if_statement "if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" if (parenthesized_expression "((int)uVar35 < (int)uVar22 != 0)" ( (binary_expression "(int)uVar35 < (int)uVar22 != 0" (binary_expression "(int)uVar35 < (int)uVar22" (cast_expression "(int)uVar35" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )) (compound_statement "{\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" { (labeled_statement "LAB_00124dbc:\n                uStack_390 = uVar35 + 1;" statement_identifier : (expression_statement "uStack_390 = uVar35 + 1;" (assignment_expression "uStack_390 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;)) (if_statement "if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;" if (parenthesized_expression "((int)uVar22 <= (int)uStack_390)" ( (binary_expression "(int)uVar22 <= (int)uStack_390" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00124a40;" goto statement_identifier ;)) (if_statement "if (pdVar14 <= pdVar33) goto LAB_001250d8;" if (parenthesized_expression "(pdVar14 <= pdVar33)" ( (binary_expression "pdVar14 <= pdVar33" identifier <= identifier) )) (goto_statement "goto LAB_001250d8;" goto statement_identifier ;)) (if_statement "if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }" if (parenthesized_expression "((-1 < iVar43) && (iVar43 < (int)puVar6[7]))" ( (binary_expression "(-1 < iVar43) && (iVar43 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar43)" ( (binary_expression "-1 < iVar43" number_literal < identifier) )) && (parenthesized_expression "(iVar43 < (int)puVar6[7])" ( (binary_expression "iVar43 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }" { (expression_statement "pdVar32[-4] = (double)(int)uStack_390;" (assignment_expression "pdVar32[-4] = (double)(int)uStack_390" (subscript_expression "pdVar32[-4]" identifier [ number_literal ]) = (cast_expression "(double)(int)uStack_390" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pdVar32[-3] = (double)iVar50;" (assignment_expression "pdVar32[-3] = (double)iVar50" (subscript_expression "pdVar32[-3]" identifier [ number_literal ]) = (cast_expression "(double)iVar50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar32[-2] = (double)(int)(uVar22 - 1);" (assignment_expression "pdVar32[-2] = (double)(int)(uVar22 - 1)" (subscript_expression "pdVar32[-2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar22 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar22 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar32[-1] = (double)-iVar44;" (assignment_expression "pdVar32[-1] = (double)-iVar44" (subscript_expression "pdVar32[-1]" identifier [ number_literal ]) = (cast_expression "(double)-iVar44" ( (type_descriptor "double" primitive_type) ) (unary_expression "-iVar44" - identifier))) ;) (expression_statement "pdVar33 = pdVar32;" (assignment_expression "pdVar33 = pdVar32" identifier = identifier) ;) })) (expression_statement "uVar35 = uVar10;" (assignment_expression "uVar35 = uVar10" identifier = identifier) ;) (if_statement "if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }" { (expression_statement "iVar13 = puVar6[6];" (assignment_expression "iVar13 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00124a44;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_0012463c:\n            uVar10 = uVar35 + 1;" statement_identifier : (expression_statement "uVar10 = uVar35 + 1;" (assignment_expression "uVar10 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;)) (if_statement "if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar10 <= iVar41)" ( (binary_expression "(int)uVar10 <= iVar41" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" { (expression_statement "iVar16 = (iVar41 - uVar10) + 1;" (assignment_expression "iVar16 = (iVar41 - uVar10) + 1" identifier = (binary_expression "(iVar41 - uVar10) + 1" (parenthesized_expression "(iVar41 - uVar10)" ( (binary_expression "iVar41 - uVar10" identifier - identifier) )) + number_literal)) ;) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" if (parenthesized_expression "((iVar13 != 0) && (uVar49 = 0, iVar16 != 0))" ( (binary_expression "(iVar13 != 0) && (uVar49 = 0, iVar16 != 0)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar49 = 0, iVar16 != 0)" ( (comma_expression "uVar49 = 0, iVar16 != 0" (assignment_expression "uVar49 = 0" identifier = number_literal) , (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" { (while_statement "while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }" while (parenthesized_expression "(uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49)" ( (comma_expression "uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49" (assignment_expression "uStack_390 = uVar10" identifier = identifier) , (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) == (cast_expression "(float)uVar49" ( (type_descriptor "float" primitive_type) ) identifier))) )) (compound_statement "{\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }" { (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" * (cast_expression "(code **)(pcVar38 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284fe8)" ( (binary_expression "pcVar38 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar45;" (assignment_expression "dStack_2c8 = dVar45" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }" { (labeled_statement "LAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" else (compound_statement "{\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" { (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }" if (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" if (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" * (cast_expression "(int *)(iVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x40)" ( (binary_expression "iVar19 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" * (cast_expression "(int *)(iVar19 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x44)" ( (binary_expression "iVar19 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_001249ec;" goto statement_identifier ;) })) }))) (expression_statement "puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3)" identifier = (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(&uStack_310,param_3)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puStack_244 != puVar17) break;" if (parenthesized_expression "(puStack_244 != puVar17)" ( (binary_expression "puStack_244 != puVar17" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * 4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar13 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (iVar41 < (int)uVar10) goto LAB_0012464c;" if (parenthesized_expression "(iVar41 < (int)uVar10)" ( (binary_expression "iVar41 < (int)uVar10" identifier < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0012464c;" goto statement_identifier ;)) })) (labeled_statement "LAB_00124a40:\n                iVar13 = puVar6[6];" statement_identifier : (expression_statement "iVar13 = puVar6[6];" (assignment_expression "iVar13 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;" statement_identifier : (if_statement "if (iVar13 <= (int)uVar10) goto LAB_00124a50;" if (parenthesized_expression "(iVar13 <= (int)uVar10)" ( (binary_expression "iVar13 <= (int)uVar10" identifier <= (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00124a50;" goto statement_identifier ;))) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" ( identifier , identifier , identifier , (binary_expression "iVar13 - uVar10" identifier - identifier) , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" ( identifier , identifier , identifier , (binary_expression "puVar6[6] - uVar10" (subscript_expression "puVar6[6]" identifier [ number_literal ]) - identifier) , number_literal , identifier )))) ;) (expression_statement "puVar17 = puStack_244;" (assignment_expression "puVar17 = puStack_244" identifier = identifier) ;) (if_statement "if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" if (parenthesized_expression "((iVar13 != 0) && (iVar16 != 0))" ( (binary_expression "(iVar13 != 0) && (iVar16 != 0)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" { (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;) (if_statement "if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" if (parenthesized_expression "(((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0))" ( (binary_expression "((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" (parenthesized_expression "((int)uVar10 < (int)puVar6[6])" ( (binary_expression "(int)uVar10 < (int)puVar6[6]" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar6[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[6]" identifier [ number_literal ]))) )) && (parenthesized_expression "(uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" ( (comma_expression "uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (assignment_expression "uVar49 = 0" identifier = number_literal) , (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier + (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) )))) == number_literal)) ))) )) (compound_statement "{\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" { (do_statement "do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );" do (compound_statement "{\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    }" { (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" * (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" * (cast_expression "(code **)(pcVar38 + 0x284fe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284fe8)" ( (binary_expression "pcVar38 + 0x284fe8" identifier + number_literal) ))))) )) (argument_list "(&uStack_310,0,0x58)" ( (pointer_expression "&uStack_310" & identifier) , number_literal , number_literal ))) ;) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" identifier = (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" * (cast_expression "(undefined8 *)(puVar6 + 0x92)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x92)" ( (binary_expression "puVar6 + 0x92" identifier + number_literal) ))))) ;) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" identifier = (subscript_expression "puVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" identifier = (subscript_expression "puVar6[8]" identifier [ number_literal ])) ;) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" identifier = (subscript_expression "puVar6[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dStack_2c8 = dVar40;" (assignment_expression "dStack_2c8 = dVar40" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }" { (labeled_statement "LAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" else (compound_statement "{\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" { (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) )))) * number_literal)) )))))) ;) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }" if (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }" { (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }" { (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" identifier = number_literal) ;) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))))) ;) })) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x284f78)" * (cast_expression "(code **)(pcVar38 + 0x284f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f78)" ( (binary_expression "pcVar38 + 0x284f78" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" if (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" * (cast_expression "(int *)(iVar19 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x40)" ( (binary_expression "iVar19 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" { (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" * (cast_expression "(int *)(iVar19 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x44)" ( (binary_expression "iVar19 + 0x44" identifier + number_literal) )))) * number_literal)) )))))) ;) (goto_statement "goto LAB_00124d38;" goto statement_identifier ;) })) }))) (expression_statement "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3)" identifier = (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(&uStack_310,param_3)" ( (pointer_expression "&uStack_310" & identifier) , identifier ))))) ;) (if_statement "if (puVar17 == puVar7) goto LAB_00124d50;" if (parenthesized_expression "(puVar17 == puVar7)" ( (binary_expression "puVar17 == puVar7" identifier == identifier) )) (goto_statement "goto LAB_00124d50;" goto statement_identifier ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar25 = puVar6[6];" (assignment_expression "iVar25 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * 4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar13 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" identifier = (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" * (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" ( (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) )))) + number_literal) )))) * number_literal)) ;) (expression_statement "puVar36 = (undefined4 *)(iVar16 + iVar19);" (assignment_expression "puVar36 = (undefined4 *)(iVar16 + iVar19)" identifier = (cast_expression "(undefined4 *)(iVar16 + iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) ;) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*puVar36 = (int)uVar46;" (assignment_expression "*puVar36 = (int)uVar46" (pointer_expression "*puVar36" * identifier) = (cast_expression "(int)uVar46" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;" if (parenthesized_expression "((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))" ( (binary_expression "(iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49)" (parenthesized_expression "(iVar25 <= (int)uVar10)" ( (binary_expression "iVar25 <= (int)uVar10" identifier <= (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(*(float *)(iVar16 + iVar19) != (float)uVar49)" ( (binary_expression "*(float *)(iVar16 + iVar19) != (float)uVar49" (pointer_expression "*(float *)(iVar16 + iVar19)" * (cast_expression "(float *)(iVar16 + iVar19)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19)" ( (binary_expression "iVar16 + iVar19" identifier + identifier) )))) != (cast_expression "(float)uVar49" ( (type_descriptor "float" primitive_type) ) identifier)) ))) )) (goto_statement "goto LAB_00124d50;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00124d60;" goto statement_identifier ;) })) })) })) (labeled_statement "LAB_0012464c:\n            pdVar32 = pdVar33;" statement_identifier : (expression_statement "pdVar32 = pdVar33;" (assignment_expression "pdVar32 = pdVar33" identifier = identifier) ;)) }) while (parenthesized_expression "(pdVar12 < pdVar33)" ( (binary_expression "pdVar12 < pdVar33" identifier < identifier) )) ;) })) (labeled_statement "LAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" statement_identifier : (if_statement "if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" if (parenthesized_expression "(0 < (int)puVar6[7])" ( (binary_expression "0 < (int)puVar6[7]" number_literal < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" { (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;) (expression_statement "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);" (assignment_expression "dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x13f8" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);" (assignment_expression "dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" * (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1440" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) ))))) ;) (do_statement "do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);" do (compound_statement "{\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          }" { (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" ( (pointer_expression "**(code **)(pcVar38 + 0x285650)" * (pointer_expression "*(code **)(pcVar38 + 0x285650)" * (cast_expression "(code **)(pcVar38 + 0x285650)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285650)" ( (binary_expression "pcVar38 + 0x285650" identifier + number_literal) ))))) )) (argument_list "(uVar15,0,iVar50,puVar6[6],1,pcVar37)" ( identifier , number_literal , identifier , (subscript_expression "puVar6[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" ( (pointer_expression "**(code **)(pcVar38 + 0x285640)" * (pointer_expression "*(code **)(pcVar38 + 0x285640)" * (cast_expression "(code **)(pcVar38 + 0x285640)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285640)" ( (binary_expression "pcVar38 + 0x285640" identifier + number_literal) ))))) )) (argument_list "(uVar27,0,iVar50,puVar6[6],1,pcVar37)" ( identifier , number_literal , identifier , (subscript_expression "puVar6[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }" if (parenthesized_expression "((iVar13 == 0) || (iVar16 == 0))" ( (binary_expression "(iVar13 == 0) || (iVar16 == 0)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }" { (labeled_statement "LAB_00124f5c:\n              iVar50 = 0;" statement_identifier : (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_00124f60;" goto statement_identifier ;) })) (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "iVar43 = 0;" (assignment_expression "iVar43 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" if (parenthesized_expression "(0 < iVar41)" ( (binary_expression "0 < iVar41" number_literal < identifier) )) (compound_statement "{\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" { (expression_statement "iVar44 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar44 = *(int *)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }" { (if_statement "if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }" if (parenthesized_expression "(*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0)" ( (binary_expression "*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar44 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar44 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar44 + 8) * 4" identifier + (binary_expression "*(int *)(iVar44 + 8) * 4" (pointer_expression "*(int *)(iVar44 + 8)" * (cast_expression "(int *)(iVar44 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 8)" ( (binary_expression "iVar44 + 8" identifier + number_literal) )))) * number_literal)) )))) != number_literal) )) (compound_statement "{\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }" { (expression_statement "iVar44 = *(int *)(param_2 + 0x1a8);" (assignment_expression "iVar44 = *(int *)(param_2 + 0x1a8)" identifier = (pointer_expression "*(int *)(param_2 + 0x1a8)" * (cast_expression "(int *)(param_2 + 0x1a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1a8)" ( (binary_expression "param_2 + 0x1a8" identifier + number_literal) ))))) ;) (if_statement "if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" if (parenthesized_expression "(iVar44 == 0)" ( (binary_expression "iVar44 == 0" identifier == number_literal) )) (compound_statement "{\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }" { (expression_statement "piVar51 = (int *)(param_2 + 0x48);" (assignment_expression "piVar51 = (int *)(param_2 + 0x48)" identifier = (cast_expression "(int *)(param_2 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x48)" ( (binary_expression "param_2 + 0x48" identifier + number_literal) )))) ;) (expression_statement "piVar2 = aiStack_368;" (assignment_expression "piVar2 = aiStack_368" identifier = identifier) ;) (do_statement "do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));" do (compound_statement "{\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    }" { (expression_statement "piVar20 = piVar2;" (assignment_expression "piVar20 = piVar2" identifier = identifier) ;) (expression_statement "piVar18 = piVar51;" (assignment_expression "piVar18 = piVar51" identifier = identifier) ;) (expression_statement "piVar51 = piVar18 + 4;" (assignment_expression "piVar51 = piVar18 + 4" identifier = (binary_expression "piVar18 + 4" identifier + number_literal)) ;) (expression_statement "iVar25 = piVar18[2];" (assignment_expression "iVar25 = piVar18[2]" identifier = (subscript_expression "piVar18[2]" identifier [ number_literal ])) ;) (expression_statement "iVar44 = piVar18[3];" (assignment_expression "iVar44 = piVar18[3]" identifier = (subscript_expression "piVar18[3]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *piVar18;" (assignment_expression "iVar19 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "piVar20[1] = piVar18[1];" (assignment_expression "piVar20[1] = piVar18[1]" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = (subscript_expression "piVar18[1]" identifier [ number_literal ])) ;) (expression_statement "piVar20[2] = iVar25;" (assignment_expression "piVar20[2] = iVar25" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar20 = iVar19;" (assignment_expression "*piVar20 = iVar19" (pointer_expression "*piVar20" * identifier) = identifier) ;) (expression_statement "piVar20[3] = iVar44;" (assignment_expression "piVar20[3] = iVar44" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2 = piVar20 + 4;" (assignment_expression "piVar2 = piVar20 + 4" identifier = (binary_expression "piVar20 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar51 != (int *)(param_2 + 0x98))" ( (binary_expression "piVar51 != (int *)(param_2 + 0x98)" identifier != (cast_expression "(int *)(param_2 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x98)" ( (binary_expression "param_2 + 0x98" identifier + number_literal) )))) )) ;) (expression_statement "iVar44 = *piVar51;" (assignment_expression "iVar44 = *piVar51" identifier = (pointer_expression "*piVar51" * identifier)) ;) (expression_statement "piVar20[5] = piVar18[5];" (assignment_expression "piVar20[5] = piVar18[5]" (subscript_expression "piVar20[5]" identifier [ number_literal ]) = (subscript_expression "piVar18[5]" identifier [ number_literal ])) ;) (expression_statement "piVar20[4] = iVar44;" (assignment_expression "piVar20[4] = iVar44" (subscript_expression "piVar20[4]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" else (compound_statement "{\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" { (expression_statement "(**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285410))" ( (pointer_expression "**(code **)(pcVar38 + 0x285410)" * (pointer_expression "*(code **)(pcVar38 + 0x285410)" * (cast_expression "(code **)(pcVar38 + 0x285410)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285410)" ( (binary_expression "pcVar38 + 0x285410" identifier + number_literal) ))))) )) (argument_list "(iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37)" ( identifier , number_literal , (binary_expression "iVar43 + *(int *)(iVar44 + 0x298)" identifier + (pointer_expression "*(int *)(iVar44 + 0x298)" * (cast_expression "(int *)(iVar44 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x298)" ( (binary_expression "iVar44 + 0x298" identifier + number_literal) ))))) , (binary_expression "iVar50 + *(int *)(iVar44 + 0x29c)" identifier + (pointer_expression "*(int *)(iVar44 + 0x29c)" * (cast_expression "(int *)(iVar44 + 0x29c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x29c)" ( (binary_expression "iVar44 + 0x29c" identifier + number_literal) ))))) , identifier , identifier ))) ;) (if_statement "if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }" if (parenthesized_expression "(dVar40 <= ABS(*(double *)(param_2 + 0x398)))" ( (binary_expression "dVar40 <= ABS(*(double *)(param_2 + 0x398))" identifier <= (call_expression "ABS(*(double *)(param_2 + 0x398))" identifier (argument_list "(*(double *)(param_2 + 0x398))" ( (pointer_expression "*(double *)(param_2 + 0x398)" * (cast_expression "(double *)(param_2 + 0x398)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x398)" ( (binary_expression "param_2 + 0x398" identifier + number_literal) )))) )))) )) (compound_statement "{\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }" { (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;" (assignment_expression "dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47" identifier = (binary_expression "dStack_320 * *(double *)(param_2 + 0x398) * dVar47" (binary_expression "dStack_320 * *(double *)(param_2 + 0x398)" identifier * (pointer_expression "*(double *)(param_2 + 0x398)" * (cast_expression "(double *)(param_2 + 0x398)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x398)" ( (binary_expression "param_2 + 0x398" identifier + number_literal) ))))) * identifier)) ;) }) (else_clause "else {\n                      iVar41 = puVar6[6];\n                    }" else (compound_statement "{\n                      iVar41 = puVar6[6];\n                    }" { (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) }))) }))) (expression_statement "iVar44 = puVar6[0xb4];" (assignment_expression "iVar44 = puVar6[0xb4]" identifier = (subscript_expression "puVar6[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar25 = *(int *)(iVar44 + 0x14);" (assignment_expression "iVar25 = *(int *)(iVar44 + 0x14)" identifier = (pointer_expression "*(int *)(iVar44 + 0x14)" * (cast_expression "(int *)(iVar44 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x14)" ( (binary_expression "iVar44 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(iVar44 + 0x20);" (assignment_expression "iVar19 = *(int *)(iVar44 + 0x20)" identifier = (pointer_expression "*(int *)(iVar44 + 0x20)" * (cast_expression "(int *)(iVar44 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x20)" ( (binary_expression "iVar44 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = *(int *)(iVar44 + 0x28);" (assignment_expression "iVar26 = *(int *)(iVar44 + 0x28)" identifier = (pointer_expression "*(int *)(iVar44 + 0x28)" * (cast_expression "(int *)(iVar44 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x28)" ( (binary_expression "iVar44 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 8) * 4)" ( (binary_expression "iVar16 + *(int *)(iVar44 + 8) * 4" identifier + (binary_expression "*(int *)(iVar44 + 8) * 4" (pointer_expression "*(int *)(iVar44 + 8)" * (cast_expression "(int *)(iVar44 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 8)" ( (binary_expression "iVar44 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dStack_340" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;" (assignment_expression "*(float *)(iVar16 + iVar25 * 4) = (float)dStack_338" (pointer_expression "*(float *)(iVar16 + iVar25 * 4)" * (cast_expression "(float *)(iVar16 + iVar25 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar25 * 4)" ( (binary_expression "iVar16 + iVar25 * 4" identifier + (binary_expression "iVar25 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dStack_338" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;" (assignment_expression "*(float *)(iVar16 + iVar19 * 4) = (float)dStack_330" (pointer_expression "*(float *)(iVar16 + iVar19 * 4)" * (cast_expression "(float *)(iVar16 + iVar19 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar19 * 4)" ( (binary_expression "iVar16 + iVar19 * 4" identifier + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dStack_330" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }" { (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" ( (binary_expression "iVar16 + *(int *)(iVar44 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar44 + 0x2c) * 4" (pointer_expression "*(int *)(iVar44 + 0x2c)" * (cast_expression "(int *)(iVar44 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x2c)" ( (binary_expression "iVar44 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dStack_328" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (if_statement "if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }" if (parenthesized_expression "(*(int *)(iVar44 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar44 + 0x34) != 0" (pointer_expression "*(int *)(iVar44 + 0x34)" * (cast_expression "(int *)(iVar44 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x34)" ( (binary_expression "iVar44 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }" { (expression_statement "fVar42 = (float)uVar46;" (assignment_expression "fVar42 = (float)uVar46" identifier = (cast_expression "(float)uVar46" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }" if (parenthesized_expression "(aiStack_368[2] != 0)" ( (binary_expression "aiStack_368[2] != 0" (subscript_expression "aiStack_368[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      fVar42 = (float)dStack_320;\n                    }" { (expression_statement "fVar42 = (float)dStack_320;" (assignment_expression "fVar42 = (float)dStack_320" identifier = (cast_expression "(float)dStack_320" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4)" * (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 0x38) * 4)" ( (binary_expression "iVar16 + *(int *)(iVar44 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar44 + 0x38) * 4" (pointer_expression "*(int *)(iVar44 + 0x38)" * (cast_expression "(int *)(iVar44 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x38)" ( (binary_expression "iVar44 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) })) (expression_statement "iVar43 = iVar43 + 1;" (assignment_expression "iVar43 = iVar43 + 1" identifier = (binary_expression "iVar43 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar13 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar16 = iVar16 + puVar6[0xb0] * 4;" (assignment_expression "iVar16 = iVar16 + puVar6[0xb0] * 4" identifier = (binary_expression "iVar16 + puVar6[0xb0] * 4" identifier + (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" identifier [ number_literal ]) * number_literal))) ;) (if_statement "if (iVar41 <= iVar43) break;" if (parenthesized_expression "(iVar41 <= iVar43)" ( (binary_expression "iVar41 <= iVar43" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar44 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar44 = *(int *)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar4 + 0x2d0)" * (cast_expression "(int *)(iVar4 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) })) })) (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" identifier = (binary_expression "iVar50 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37)" identifier = (call_expression "(**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2854ec))" ( (pointer_expression "**(code **)(pcVar38 + 0x2854ec)" * (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) )) (argument_list "(uVar27,pcVar37)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) goto LAB_00124f5c;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00124f5c;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar50 < (int)puVar6[7])" ( (binary_expression "iVar50 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) )) ;) }))) (expression_statement "iVar50 = 1;" (assignment_expression "iVar50 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);" statement_identifier : (expression_statement "(**(code **)(pcVar38 + 0x284ee8))(uVar15);" (call_expression "(**(code **)(pcVar38 + 0x284ee8))(uVar15)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ee8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284ee8)" * (pointer_expression "*(code **)(pcVar38 + 0x284ee8)" * (cast_expression "(code **)(pcVar38 + 0x284ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284ee8)" ( (binary_expression "pcVar38 + 0x284ee8" identifier + number_literal) ))))) )) (argument_list "(uVar15)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcVar38 + 0x284ee8))(uVar27);" (call_expression "(**(code **)(pcVar38 + 0x284ee8))(uVar27)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ee8))" ( (pointer_expression "**(code **)(pcVar38 + 0x284ee8)" * (pointer_expression "*(code **)(pcVar38 + 0x284ee8)" * (cast_expression "(code **)(pcVar38 + 0x284ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284ee8)" ( (binary_expression "pcVar38 + 0x284ee8" identifier + number_literal) ))))) )) (argument_list "(uVar27)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x28538c))(iVar5);" (call_expression "(**(code **)(pcVar38 + 0x28538c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar38 + 0x28538c))" ( (pointer_expression "**(code **)(pcVar38 + 0x28538c)" * (pointer_expression "*(code **)(pcVar38 + 0x28538c)" * (cast_expression "(code **)(pcVar38 + 0x28538c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x28538c)" ( (binary_expression "pcVar38 + 0x28538c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar38 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar38 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f40))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f40)" * (pointer_expression "*(code **)(pcVar38 + 0x284f40)" * (cast_expression "(code **)(pcVar38 + 0x284f40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f40)" ( (binary_expression "pcVar38 + 0x284f40" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (goto_statement "goto LAB_001240ec;" goto statement_identifier ;) })) (goto_statement "goto LAB_00125064;" goto statement_identifier ;) })) }) (else_clause "else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" else (compound_statement "{\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" { (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848dc) + -0x3784" (pointer_expression "*(int *)(pcVar38 + 0x2848dc)" * (cast_expression "(int *)(pcVar38 + 0x2848dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848dc)" ( (binary_expression "pcVar38 + 0x2848dc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);" statement_identifier : (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1158" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1114" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" identifier = identifier) ;) (labeled_statement "LAB_001250a8:\n  puVar6 = puVar21;" statement_identifier : (expression_statement "puVar6 = puVar21;" (assignment_expression "puVar6 = puVar21" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" ( (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" * (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" * (cast_expression "(code **)(pcVar38 + 0x2855fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2855fc)" ( (binary_expression "pcVar38 + 0x2855fc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" ( (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0xdd0" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) ))) ;) do (compound_statement "{\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}" { (expression_statement "(**(code **)(pcVar38 + 0x285058))();" (call_expression "(**(code **)(pcVar38 + 0x285058))()" (parenthesized_expression "(**(code **)(pcVar38 + 0x285058))" ( (pointer_expression "**(code **)(pcVar38 + 0x285058)" * (pointer_expression "*(code **)(pcVar38 + 0x285058)" * (cast_expression "(code **)(pcVar38 + 0x285058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x285058)" ( (binary_expression "pcVar38 + 0x285058" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_001250d8:\n    puVar6 = puVar6 + 0xd0;" statement_identifier : (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;)) (expression_statement "uVar27 = 0x107;" (assignment_expression "uVar27 = 0x107" identifier = number_literal) ;) (labeled_statement "LAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);" statement_identifier : (expression_statement "(**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);" (call_expression "(**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f14))" ( (pointer_expression "**(code **)(pcVar38 + 0x284f14)" * (pointer_expression "*(code **)(pcVar38 + 0x284f14)" * (cast_expression "(code **)(pcVar38 + 0x284f14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x284f14)" ( (binary_expression "pcVar38 + 0x284f14" identifier + number_literal) ))))) )) (argument_list "(pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6)" ( identifier , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2a40" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" * (cast_expression "(int *)(pcVar38 + 0x2848d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d8)" ( (binary_expression "pcVar38 + 0x2848d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" * (cast_expression "(int *)(pcVar38 + 0x2848d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar38 + 0x2848d4)" ( (binary_expression "pcVar38 + 0x2848d4" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (labeled_statement "LAB_001240e8:\n    iVar50 = 0;" statement_identifier : (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_001240ec:\n  } while (iStack_2b4 != *piVar34);" statement_identifier : (ERROR "}" }) (while_statement "while (iStack_2b4 != *piVar34);" while (parenthesized_expression "(iStack_2b4 != *piVar34)" ( (binary_expression "iStack_2b4 != *piVar34" identifier != (pointer_expression "*piVar34" * identifier)) )) (expression_statement ";" ;))) (return_statement "return iVar50;" return identifier ;) (labeled_statement "LAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);" statement_identifier : (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" identifier = (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" * (cast_expression "(code **)(pcVar38 + 0x2854ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar38 + 0x2854ec)" ( (binary_expression "pcVar38 + 0x2854ec" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);" statement_identifier : (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" identifier = (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" ( (pointer_expression "*pcVar39" * identifier) )) (argument_list "(uVar15,pcVar37)" ( identifier , identifier )))) ;)) (if_statement "if (iVar13 == 0) goto LAB_0012464c;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012464c;" goto statement_identifier ;)) (labeled_statement "LAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" statement_identifier : (if_statement "if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" if (parenthesized_expression "(pdVar14 <= pdVar33)" ( (binary_expression "pdVar14 <= pdVar33" identifier <= identifier) )) (compound_statement "{\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar27 = 0x125;" (assignment_expression "uVar27 = 0x125" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) }))) (expression_statement "iVar13 = iVar41 + 1;" (assignment_expression "iVar13 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "uVar35 = uVar10;" (assignment_expression "uVar35 = uVar10" identifier = identifier) ;) (if_statement "if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" if (parenthesized_expression "((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50))" ( (binary_expression "(iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)" (parenthesized_expression "(iVar44 + iVar50 < 0)" ( (binary_expression "iVar44 + iVar50 < 0" (binary_expression "iVar44 + iVar50" identifier + identifier) < number_literal) )) || (parenthesized_expression "((int)puVar6[7] <= iVar44 + iVar50)" ( (binary_expression "(int)puVar6[7] <= iVar44 + iVar50" (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ])) <= (binary_expression "iVar44 + iVar50" identifier + identifier)) ))) )) (compound_statement "{\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }" { (if_statement "if ((int)uVar10 <= iVar13) goto LAB_0012463c;" if (parenthesized_expression "((int)uVar10 <= iVar13)" ( (binary_expression "(int)uVar10 <= iVar13" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;)) }) (else_clause "else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" else (compound_statement "{\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" { (expression_statement "pdVar32 = pdVar33 + 4;" (assignment_expression "pdVar32 = pdVar33 + 4" identifier = (binary_expression "pdVar33 + 4" identifier + number_literal)) ;) (expression_statement "*pdVar33 = (double)(int)uStack_390;" (assignment_expression "*pdVar33 = (double)(int)uStack_390" (pointer_expression "*pdVar33" * identifier) = (cast_expression "(double)(int)uStack_390" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)uStack_390" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pdVar33[3] = (double)iVar44;" (assignment_expression "pdVar33[3] = (double)iVar44" (subscript_expression "pdVar33[3]" identifier [ number_literal ]) = (cast_expression "(double)iVar44" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar33[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar33[2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar10 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar33[1] = (double)iVar50;" (assignment_expression "pdVar33[1] = (double)iVar50" (subscript_expression "pdVar33[1]" identifier [ number_literal ]) = (cast_expression "(double)iVar50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33 = pdVar32;" (assignment_expression "pdVar33 = pdVar32" identifier = identifier) ;) (if_statement "if ((int)uVar10 <= iVar13) goto LAB_0012463c;" if (parenthesized_expression "((int)uVar10 <= iVar13)" ( (binary_expression "(int)uVar10 <= iVar13" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;)) (if_statement "if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }" if (parenthesized_expression "(pdVar14 <= pdVar32)" ( (binary_expression "pdVar14 <= pdVar32" identifier <= identifier) )) (compound_statement "{\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }" { (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" identifier = (binary_expression "puVar6 + 0xd0" identifier + number_literal)) ;) (expression_statement "uVar27 = 0x127;" (assignment_expression "uVar27 = 0x127" identifier = number_literal) ;) (goto_statement "goto LAB_00124ee4;" goto statement_identifier ;) })) }))) (if_statement "if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }" if (parenthesized_expression "((-1 < iVar43) && (iVar43 < (int)puVar6[7]))" ( (binary_expression "(-1 < iVar43) && (iVar43 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar43)" ( (binary_expression "-1 < iVar43" number_literal < identifier) )) && (parenthesized_expression "(iVar43 < (int)puVar6[7])" ( (binary_expression "iVar43 < (int)puVar6[7]" identifier < (cast_expression "(int)puVar6[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar6[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }" { (expression_statement "*pdVar33 = (double)iVar13;" (assignment_expression "*pdVar33 = (double)iVar13" (pointer_expression "*pdVar33" * identifier) = (cast_expression "(double)iVar13" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar33[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar33[2]" identifier [ number_literal ]) = (cast_expression "(double)(int)(uVar10 - 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) ))))) ;) (expression_statement "pdVar33[1] = (double)iVar50;" (assignment_expression "pdVar33[1] = (double)iVar50" (subscript_expression "pdVar33[1]" identifier [ number_literal ]) = (cast_expression "(double)iVar50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdVar33[3] = (double)-iVar44;" (assignment_expression "pdVar33[3] = (double)-iVar44" (subscript_expression "pdVar33[3]" identifier [ number_literal ]) = (cast_expression "(double)-iVar44" ( (type_descriptor "double" primitive_type) ) (unary_expression "-iVar44" - identifier))) ;) (expression_statement "pdVar33 = pdVar33 + 4;" (assignment_expression "pdVar33 = pdVar33 + 4" identifier = (binary_expression "pdVar33 + 4" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0012463c;" goto statement_identifier ;) })))
(translation_unit (ERROR TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) / IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) % IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) })) (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 , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) * LIT)) )))) = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) })) (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 + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * 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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 = (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 ( )))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) / IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) % IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor 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 *)) ) (subscript_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) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) 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 + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 = (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) % IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * 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) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (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) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (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 ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ])))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ])))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ])))) ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) && (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ]) = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) })) (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 + (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != 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 ( LIT , (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) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (call_expression (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 ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (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 ( IDENT , LIT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_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 * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = 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 ( IDENT ))) ;) (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 ( IDENT , (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 , LIT , (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) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) 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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) 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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_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 = (binary_expression (parenthesized_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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , LIT , IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , LIT , IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (do_statement do (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 ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) == LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ^ LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT , IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT , IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) )))) == (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (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 ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT , IDENT , (binary_expression IDENT - IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) )))) == LIT)) ))) )) (compound_statement { (do_statement do (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 ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) != (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( IDENT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (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 ( IDENT , LIT , (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (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 ( IDENT ))) ;)) (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 ( IDENT ))) ;) (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 ( IDENT ))) ;) (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 ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (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) ))) ;) (labeled_statement statement_identifier : (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) ))) ;)) }))) (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) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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) ))) ;) do (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 ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (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 ( IDENT , (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) , IDENT , LIT , (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) , IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (ERROR }) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) (expression_statement ;))) (return_statement return IDENT ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (binary_expression IDENT + IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (goto_statement goto statement_identifier ;)) (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) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) })))
(ERROR "int FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  float **ppfVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 *puVar9;\n  uint uVar10;\n  undefined4 *puVar11;\n  double *pdVar12;\n  int iVar13;\n  double *pdVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined *puVar17;\n  int *piVar18;\n  int iVar19;\n  int *piVar20;\n  undefined4 *puVar21;\n  uint uVar22;\n  float **ppfVar23;\n  uint uVar24;\n  int iVar25;\n  int iVar26;\n  undefined4 uVar27;\n  float *pfVar28;\n  float *pfVar29;\n  int *unaff_s0;\n  float *pfVar30;\n  float *pfVar31;\n  double *pdVar32;\n  double *pdVar33;\n  uint unaff_s4;\n  int *piVar34;\n  undefined4 *unaff_s5;\n  float **unaff_s6;\n  uint uVar35;\n  int unaff_s7;\n  undefined4 *puVar36;\n  code *pcVar37;\n  code *pcVar38;\n  code *pcVar39;\n  double dVar40;\n  int iVar41;\n  float fVar42;\n  int iVar43;\n  int iVar44;\n  double in_f20_21;\n  double dVar45;\n  ulonglong uVar46;\n  double in_f22_23;\n  double dVar47;\n  ulonglong uVar48;\n  undefined8 uVar49;\n  int iVar50;\n  int *piVar51;\n  uint uStack_390;\n  int aiStack_368 [10];\n  double dStack_340;\n  double dStack_338;\n  double dStack_330;\n  double dStack_328;\n  double dStack_320;\n  undefined4 uStack_310;\n  undefined4 uStack_30c;\n  undefined4 uStack_308;\n  undefined8 uStack_300;\n  undefined4 uStack_2f8;\n  double dStack_2e8;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  double dStack_2c8;\n  double dStack_2c0;\n  int iStack_2b4;\n  float *pfStack_2b0;\n  int *piStack_2ac;\n  undefined4 *puStack_2a8;\n  undefined4 *puStack_2a4;\n  uint uStack_2a0;\n  undefined4 *puStack_29c;\n  float **ppfStack_298;\n  undefined4 *puStack_294;\n  undefined4 *puStack_290;\n  code *pcStack_28c;\n  double dStack_288;\n  double dStack_280;\n  int iStack_248;\n  undefined *puStack_244;\n  code *pcStack_240;\n  float *pfStack_234;\n  undefined4 *puStack_230;\n  undefined *puStack_22c;\n  int *piStack_228;\n  undefined *puStack_224;\n  float *pfStack_220;\n  undefined4 uStack_21c;\n  undefined4 uStack_218;\n  undefined8 uStack_210;\n  undefined4 uStack_208;\n  double dStack_1f8;\n  double dStack_1f0;\n  double dStack_1e8;\n  double dStack_1e0;\n  double dStack_1d8;\n  double dStack_1d0;\n  int iStack_1c4;\n  int *piStack_1c0;\n  float *pfStack_1bc;\n  float *pfStack_1b8;\n  undefined4 *puStack_1b4;\n  uint uStack_1b0;\n  undefined4 *puStack_1ac;\n  float **ppfStack_1a8;\n  undefined4 *puStack_1a4;\n  undefined4 *puStack_1a0;\n  code *pcStack_19c;\n  double dStack_198;\n  double dStack_190;\n  undefined4 uStack_178;\n  undefined *puStack_174;\n  undefined *puStack_170;\n  undefined *puStack_164;\n  int *piStack_160;\n  undefined *puStack_15c;\n  float *apfStack_158 [4];\n  undefined8 uStack_148;\n  undefined4 uStack_140;\n  double dStack_130;\n  double dStack_128;\n  double dStack_120;\n  double dStack_118;\n  double dStack_110;\n  double dStack_108;\n  int iStack_fc;\n  int *piStack_f8;\n  float *pfStack_f4;\n  float *pfStack_f0;\n  undefined4 *puStack_ec;\n  uint uStack_e8;\n  undefined4 *puStack_e4;\n  float **ppfStack_e0;\n  int iStack_dc;\n  undefined4 *puStack_d8;\n  code *pcStack_d4;\n  double dStack_d0;\n  undefined4 local_b8;\n  undefined *local_b4;\n  float *local_98 [4];\n  undefined8 local_88;\n  undefined4 local_80;\n  double local_70;\n  double local_68;\n  double local_60;\n  double local_58;\n  double local_50;\n  double local_48;\n  int local_3c;\n  \n  puVar17 = PTR___stack_chk_guard_003a9230;\n  local_3c = *(int *)PTR___stack_chk_guard_003a9230;\n  puVar36 = (undefined4 *)*param_1;\n  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar36[7] / iVar4;\n  iVar4 = (int)puVar36[7] % iVar4;\n  puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }\n  pcVar37 = FUN_00123798;\n  puVar17 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  puStack_170 = puVar17 + 0x28d118;\n  piStack_160 = *(int **)(puVar17 + 0x285a98);\n  iStack_fc = *piStack_160;\n  puVar6 = (undefined4 *)*puVar21;\n  piStack_f8 = unaff_s0;\n  pfStack_f4 = pfVar30;\n  pfStack_f0 = pfVar31;\n  puStack_ec = param_1;\n  uStack_e8 = unaff_s4;\n  puStack_e4 = unaff_s5;\n  ppfStack_e0 = unaff_s6;\n  iStack_dc = unaff_s7;\n  puStack_d8 = puVar36;\n  pcStack_d4 = pcVar37;\n  dStack_d0 = in_f20_21;\n  iVar4 = (**(code **)(puVar17 + 0x286174))();\n  iVar5 = (**(code **)(puStack_170 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  iVar50 = (int)puVar6[7] / iVar4;\n  iVar4 = (int)puVar6[7] % iVar4;\n  puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);\n  pfVar31 = (float *)(iVar50 + (int)pfVar30);\n  puVar17 = puStack_170;\n  if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }\n  if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }\n  pcVar37 = *(code **)(puVar17 + -0x784c);\n  pcVar38 = FUN_00123c14;\n  (*pcVar37)();\n  pcStack_240 = pcVar37 + 0x28cc9c;\n  piStack_228 = *(int **)(pcVar37 + 0x28561c);\n  iStack_1c4 = *piStack_228;\n  puVar9 = (undefined4 *)*puVar36;\n  piStack_1c0 = unaff_s0;\n  pfStack_1bc = pfVar30;\n  pfStack_1b8 = pfVar31;\n  puStack_1b4 = param_1;\n  uStack_1b0 = unaff_s4;\n  puStack_1ac = unaff_s5;\n  ppfStack_1a8 = unaff_s6;\n  puStack_1a4 = puVar21;\n  puStack_1a0 = puVar6;\n  pcStack_19c = pcVar38;\n  dStack_198 = in_f20_21;\n  dStack_190 = in_f22_23;\n  iVar4 = (**(code **)(pcVar37 + 0x285cf8))();\n  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();\n  if (iVar4 == 0) {\n    trap(7);\n  }\n  piVar51 = (int *)((int)puVar9[7] / iVar4);\n  iVar4 = (int)puVar9[7] % iVar4;\n  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);\n  if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }\n  pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);\n  pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);\n  pcVar37 = pcStack_240;\n  if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }\n  if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }\n  pcVar38 = *(code **)(pcVar37 + -0x784c);\n  pcVar39 = FloodfillPaintImage;\n  (*pcVar38)();\n  pcVar37 = pcStack_240;\n  piVar34 = *(int **)(pcVar38 + 0x285224);\n  iStack_2b4 = *piVar34;\n  pfStack_2b0 = pfVar30;\n  piStack_2ac = piVar51;\n  puStack_2a8 = puVar36;\n  puStack_2a4 = param_1;\n  uStack_2a0 = unaff_s4;\n  puStack_29c = unaff_s5;\n  ppfStack_298 = unaff_s6;\n  puStack_294 = puVar21;\n  puStack_290 = puVar9;\n  pcStack_28c = pcVar39;\n  dStack_288 = in_f20_21;\n  dStack_280 = in_f22_23;\n  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;\n  if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  puVar21 = puVar6;\nLAB_001250a8:\n  puVar6 = puVar21;\n  (**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\n  do {\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}" (primitive_type "int") (function_declarator "FUN_001233d8(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)" (identifier "FUN_001233d8") (parameter_list "(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined *param_2" (type_identifier "undefined") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "float *param_3" (primitive_type "float") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "float **ppfVar3;" (primitive_type "float") (pointer_declarator "**ppfVar3" (* "*") (pointer_declarator "*ppfVar3" (* "*") (identifier "ppfVar3"))) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "double *pdVar12;" (primitive_type "double") (pointer_declarator "*pdVar12" (* "*") (identifier "pdVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "double *pdVar14;" (primitive_type "double") (pointer_declarator "*pdVar14" (* "*") (identifier "pdVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "undefined4 *puVar21;" (type_identifier "undefined4") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "float **ppfVar23;" (primitive_type "float") (pointer_declarator "**ppfVar23" (* "*") (pointer_declarator "*ppfVar23" (* "*") (identifier "ppfVar23"))) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "undefined4 uVar27;" (type_identifier "undefined4") (identifier "uVar27") (; ";")) (declaration "float *pfVar28;" (primitive_type "float") (pointer_declarator "*pfVar28" (* "*") (identifier "pfVar28")) (; ";")) (declaration "float *pfVar29;" (primitive_type "float") (pointer_declarator "*pfVar29" (* "*") (identifier "pfVar29")) (; ";")) (declaration "int *unaff_s0;" (primitive_type "int") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "float *pfVar30;" (primitive_type "float") (pointer_declarator "*pfVar30" (* "*") (identifier "pfVar30")) (; ";")) (declaration "float *pfVar31;" (primitive_type "float") (pointer_declarator "*pfVar31" (* "*") (identifier "pfVar31")) (; ";")) (declaration "double *pdVar32;" (primitive_type "double") (pointer_declarator "*pdVar32" (* "*") (identifier "pdVar32")) (; ";")) (declaration "double *pdVar33;" (primitive_type "double") (pointer_declarator "*pdVar33" (* "*") (identifier "pdVar33")) (; ";")) (declaration "uint unaff_s4;" (type_identifier "uint") (identifier "unaff_s4") (; ";")) (declaration "int *piVar34;" (primitive_type "int") (pointer_declarator "*piVar34" (* "*") (identifier "piVar34")) (; ";")) (declaration "undefined4 *unaff_s5;" (type_identifier "undefined4") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "float **unaff_s6;" (primitive_type "float") (pointer_declarator "**unaff_s6" (* "*") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6"))) (; ";")) (declaration "uint uVar35;" (type_identifier "uint") (identifier "uVar35") (; ";")) (declaration "int unaff_s7;" (primitive_type "int") (identifier "unaff_s7") (; ";")) (declaration "undefined4 *puVar36;" (type_identifier "undefined4") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "code *pcVar37;" (type_identifier "code") (pointer_declarator "*pcVar37" (* "*") (identifier "pcVar37")) (; ";")) (declaration "code *pcVar38;" (type_identifier "code") (pointer_declarator "*pcVar38" (* "*") (identifier "pcVar38")) (; ";")) (declaration "code *pcVar39;" (type_identifier "code") (pointer_declarator "*pcVar39" (* "*") (identifier "pcVar39")) (; ";")) (declaration "double dVar40;" (primitive_type "double") (identifier "dVar40") (; ";")) (declaration "int iVar41;" (primitive_type "int") (identifier "iVar41") (; ";")) (declaration "float fVar42;" (primitive_type "float") (identifier "fVar42") (; ";")) (declaration "int iVar43;" (primitive_type "int") (identifier "iVar43") (; ";")) (declaration "int iVar44;" (primitive_type "int") (identifier "iVar44") (; ";")) (declaration "double in_f20_21;" (primitive_type "double") (identifier "in_f20_21") (; ";")) (declaration "double dVar45;" (primitive_type "double") (identifier "dVar45") (; ";")) (declaration "ulonglong uVar46;" (type_identifier "ulonglong") (identifier "uVar46") (; ";")) (declaration "double in_f22_23;" (primitive_type "double") (identifier "in_f22_23") (; ";")) (declaration "double dVar47;" (primitive_type "double") (identifier "dVar47") (; ";")) (declaration "ulonglong uVar48;" (type_identifier "ulonglong") (identifier "uVar48") (; ";")) (declaration "undefined8 uVar49;" (type_identifier "undefined8") (identifier "uVar49") (; ";")) (declaration "int iVar50;" (primitive_type "int") (identifier "iVar50") (; ";")) (declaration "int *piVar51;" (primitive_type "int") (pointer_declarator "*piVar51" (* "*") (identifier "piVar51")) (; ";")) (declaration "uint uStack_390;" (type_identifier "uint") (identifier "uStack_390") (; ";")) (declaration "int aiStack_368 [10];" (primitive_type "int") (array_declarator "aiStack_368 [10]" (identifier "aiStack_368") ([ "[") (number_literal "10") (] "]")) (; ";")) (declaration "double dStack_340;" (primitive_type "double") (identifier "dStack_340") (; ";")) (declaration "double dStack_338;" (primitive_type "double") (identifier "dStack_338") (; ";")) (declaration "double dStack_330;" (primitive_type "double") (identifier "dStack_330") (; ";")) (declaration "double dStack_328;" (primitive_type "double") (identifier "dStack_328") (; ";")) (declaration "double dStack_320;" (primitive_type "double") (identifier "dStack_320") (; ";")) (declaration "undefined4 uStack_310;" (type_identifier "undefined4") (identifier "uStack_310") (; ";")) (declaration "undefined4 uStack_30c;" (type_identifier "undefined4") (identifier "uStack_30c") (; ";")) (declaration "undefined4 uStack_308;" (type_identifier "undefined4") (identifier "uStack_308") (; ";")) (declaration "undefined8 uStack_300;" (type_identifier "undefined8") (identifier "uStack_300") (; ";")) (declaration "undefined4 uStack_2f8;" (type_identifier "undefined4") (identifier "uStack_2f8") (; ";")) (declaration "double dStack_2e8;" (primitive_type "double") (identifier "dStack_2e8") (; ";")) (declaration "double dStack_2e0;" (primitive_type "double") (identifier "dStack_2e0") (; ";")) (declaration "double dStack_2d8;" (primitive_type "double") (identifier "dStack_2d8") (; ";")) (declaration "double dStack_2d0;" (primitive_type "double") (identifier "dStack_2d0") (; ";")) (declaration "double dStack_2c8;" (primitive_type "double") (identifier "dStack_2c8") (; ";")) (declaration "double dStack_2c0;" (primitive_type "double") (identifier "dStack_2c0") (; ";")) (declaration "int iStack_2b4;" (primitive_type "int") (identifier "iStack_2b4") (; ";")) (declaration "float *pfStack_2b0;" (primitive_type "float") (pointer_declarator "*pfStack_2b0" (* "*") (identifier "pfStack_2b0")) (; ";")) (declaration "int *piStack_2ac;" (primitive_type "int") (pointer_declarator "*piStack_2ac" (* "*") (identifier "piStack_2ac")) (; ";")) (declaration "undefined4 *puStack_2a8;" (type_identifier "undefined4") (pointer_declarator "*puStack_2a8" (* "*") (identifier "puStack_2a8")) (; ";")) (declaration "undefined4 *puStack_2a4;" (type_identifier "undefined4") (pointer_declarator "*puStack_2a4" (* "*") (identifier "puStack_2a4")) (; ";")) (declaration "uint uStack_2a0;" (type_identifier "uint") (identifier "uStack_2a0") (; ";")) (declaration "undefined4 *puStack_29c;" (type_identifier "undefined4") (pointer_declarator "*puStack_29c" (* "*") (identifier "puStack_29c")) (; ";")) (declaration "float **ppfStack_298;" (primitive_type "float") (pointer_declarator "**ppfStack_298" (* "*") (pointer_declarator "*ppfStack_298" (* "*") (identifier "ppfStack_298"))) (; ";")) (declaration "undefined4 *puStack_294;" (type_identifier "undefined4") (pointer_declarator "*puStack_294" (* "*") (identifier "puStack_294")) (; ";")) (declaration "undefined4 *puStack_290;" (type_identifier "undefined4") (pointer_declarator "*puStack_290" (* "*") (identifier "puStack_290")) (; ";")) (declaration "code *pcStack_28c;" (type_identifier "code") (pointer_declarator "*pcStack_28c" (* "*") (identifier "pcStack_28c")) (; ";")) (declaration "double dStack_288;" (primitive_type "double") (identifier "dStack_288") (; ";")) (declaration "double dStack_280;" (primitive_type "double") (identifier "dStack_280") (; ";")) (declaration "int iStack_248;" (primitive_type "int") (identifier "iStack_248") (; ";")) (declaration "undefined *puStack_244;" (type_identifier "undefined") (pointer_declarator "*puStack_244" (* "*") (identifier "puStack_244")) (; ";")) (declaration "code *pcStack_240;" (type_identifier "code") (pointer_declarator "*pcStack_240" (* "*") (identifier "pcStack_240")) (; ";")) (declaration "float *pfStack_234;" (primitive_type "float") (pointer_declarator "*pfStack_234" (* "*") (identifier "pfStack_234")) (; ";")) (declaration "undefined4 *puStack_230;" (type_identifier "undefined4") (pointer_declarator "*puStack_230" (* "*") (identifier "puStack_230")) (; ";")) (declaration "undefined *puStack_22c;" (type_identifier "undefined") (pointer_declarator "*puStack_22c" (* "*") (identifier "puStack_22c")) (; ";")) (declaration "int *piStack_228;" (primitive_type "int") (pointer_declarator "*piStack_228" (* "*") (identifier "piStack_228")) (; ";")) (declaration "undefined *puStack_224;" (type_identifier "undefined") (pointer_declarator "*puStack_224" (* "*") (identifier "puStack_224")) (; ";")) (declaration "float *pfStack_220;" (primitive_type "float") (pointer_declarator "*pfStack_220" (* "*") (identifier "pfStack_220")) (; ";")) (declaration "undefined4 uStack_21c;" (type_identifier "undefined4") (identifier "uStack_21c") (; ";")) (declaration "undefined4 uStack_218;" (type_identifier "undefined4") (identifier "uStack_218") (; ";")) (declaration "undefined8 uStack_210;" (type_identifier "undefined8") (identifier "uStack_210") (; ";")) (declaration "undefined4 uStack_208;" (type_identifier "undefined4") (identifier "uStack_208") (; ";")) (declaration "double dStack_1f8;" (primitive_type "double") (identifier "dStack_1f8") (; ";")) (declaration "double dStack_1f0;" (primitive_type "double") (identifier "dStack_1f0") (; ";")) (declaration "double dStack_1e8;" (primitive_type "double") (identifier "dStack_1e8") (; ";")) (declaration "double dStack_1e0;" (primitive_type "double") (identifier "dStack_1e0") (; ";")) (declaration "double dStack_1d8;" (primitive_type "double") (identifier "dStack_1d8") (; ";")) (declaration "double dStack_1d0;" (primitive_type "double") (identifier "dStack_1d0") (; ";")) (declaration "int iStack_1c4;" (primitive_type "int") (identifier "iStack_1c4") (; ";")) (declaration "int *piStack_1c0;" (primitive_type "int") (pointer_declarator "*piStack_1c0" (* "*") (identifier "piStack_1c0")) (; ";")) (declaration "float *pfStack_1bc;" (primitive_type "float") (pointer_declarator "*pfStack_1bc" (* "*") (identifier "pfStack_1bc")) (; ";")) (declaration "float *pfStack_1b8;" (primitive_type "float") (pointer_declarator "*pfStack_1b8" (* "*") (identifier "pfStack_1b8")) (; ";")) (declaration "undefined4 *puStack_1b4;" (type_identifier "undefined4") (pointer_declarator "*puStack_1b4" (* "*") (identifier "puStack_1b4")) (; ";")) (declaration "uint uStack_1b0;" (type_identifier "uint") (identifier "uStack_1b0") (; ";")) (declaration "undefined4 *puStack_1ac;" (type_identifier "undefined4") (pointer_declarator "*puStack_1ac" (* "*") (identifier "puStack_1ac")) (; ";")) (declaration "float **ppfStack_1a8;" (primitive_type "float") (pointer_declarator "**ppfStack_1a8" (* "*") (pointer_declarator "*ppfStack_1a8" (* "*") (identifier "ppfStack_1a8"))) (; ";")) (declaration "undefined4 *puStack_1a4;" (type_identifier "undefined4") (pointer_declarator "*puStack_1a4" (* "*") (identifier "puStack_1a4")) (; ";")) (declaration "undefined4 *puStack_1a0;" (type_identifier "undefined4") (pointer_declarator "*puStack_1a0" (* "*") (identifier "puStack_1a0")) (; ";")) (declaration "code *pcStack_19c;" (type_identifier "code") (pointer_declarator "*pcStack_19c" (* "*") (identifier "pcStack_19c")) (; ";")) (declaration "double dStack_198;" (primitive_type "double") (identifier "dStack_198") (; ";")) (declaration "double dStack_190;" (primitive_type "double") (identifier "dStack_190") (; ";")) (declaration "undefined4 uStack_178;" (type_identifier "undefined4") (identifier "uStack_178") (; ";")) (declaration "undefined *puStack_174;" (type_identifier "undefined") (pointer_declarator "*puStack_174" (* "*") (identifier "puStack_174")) (; ";")) (declaration "undefined *puStack_170;" (type_identifier "undefined") (pointer_declarator "*puStack_170" (* "*") (identifier "puStack_170")) (; ";")) (declaration "undefined *puStack_164;" (type_identifier "undefined") (pointer_declarator "*puStack_164" (* "*") (identifier "puStack_164")) (; ";")) (declaration "int *piStack_160;" (primitive_type "int") (pointer_declarator "*piStack_160" (* "*") (identifier "piStack_160")) (; ";")) (declaration "undefined *puStack_15c;" (type_identifier "undefined") (pointer_declarator "*puStack_15c" (* "*") (identifier "puStack_15c")) (; ";")) (declaration "float *apfStack_158 [4];" (primitive_type "float") (pointer_declarator "*apfStack_158 [4]" (* "*") (array_declarator "apfStack_158 [4]" (identifier "apfStack_158") ([ "[") (number_literal "4") (] "]"))) (; ";")) (declaration "undefined8 uStack_148;" (type_identifier "undefined8") (identifier "uStack_148") (; ";")) (declaration "undefined4 uStack_140;" (type_identifier "undefined4") (identifier "uStack_140") (; ";")) (declaration "double dStack_130;" (primitive_type "double") (identifier "dStack_130") (; ";")) (declaration "double dStack_128;" (primitive_type "double") (identifier "dStack_128") (; ";")) (declaration "double dStack_120;" (primitive_type "double") (identifier "dStack_120") (; ";")) (declaration "double dStack_118;" (primitive_type "double") (identifier "dStack_118") (; ";")) (declaration "double dStack_110;" (primitive_type "double") (identifier "dStack_110") (; ";")) (declaration "double dStack_108;" (primitive_type "double") (identifier "dStack_108") (; ";")) (declaration "int iStack_fc;" (primitive_type "int") (identifier "iStack_fc") (; ";")) (declaration "int *piStack_f8;" (primitive_type "int") (pointer_declarator "*piStack_f8" (* "*") (identifier "piStack_f8")) (; ";")) (declaration "float *pfStack_f4;" (primitive_type "float") (pointer_declarator "*pfStack_f4" (* "*") (identifier "pfStack_f4")) (; ";")) (declaration "float *pfStack_f0;" (primitive_type "float") (pointer_declarator "*pfStack_f0" (* "*") (identifier "pfStack_f0")) (; ";")) (declaration "undefined4 *puStack_ec;" (type_identifier "undefined4") (pointer_declarator "*puStack_ec" (* "*") (identifier "puStack_ec")) (; ";")) (declaration "uint uStack_e8;" (type_identifier "uint") (identifier "uStack_e8") (; ";")) (declaration "undefined4 *puStack_e4;" (type_identifier "undefined4") (pointer_declarator "*puStack_e4" (* "*") (identifier "puStack_e4")) (; ";")) (declaration "float **ppfStack_e0;" (primitive_type "float") (pointer_declarator "**ppfStack_e0" (* "*") (pointer_declarator "*ppfStack_e0" (* "*") (identifier "ppfStack_e0"))) (; ";")) (declaration "int iStack_dc;" (primitive_type "int") (identifier "iStack_dc") (; ";")) (declaration "undefined4 *puStack_d8;" (type_identifier "undefined4") (pointer_declarator "*puStack_d8" (* "*") (identifier "puStack_d8")) (; ";")) (declaration "code *pcStack_d4;" (type_identifier "code") (pointer_declarator "*pcStack_d4" (* "*") (identifier "pcStack_d4")) (; ";")) (declaration "double dStack_d0;" (primitive_type "double") (identifier "dStack_d0") (; ";")) (declaration "undefined4 local_b8;" (type_identifier "undefined4") (identifier "local_b8") (; ";")) (declaration "undefined *local_b4;" (type_identifier "undefined") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4")) (; ";")) (declaration "float *local_98 [4];" (primitive_type "float") (pointer_declarator "*local_98 [4]" (* "*") (array_declarator "local_98 [4]" (identifier "local_98") ([ "[") (number_literal "4") (] "]"))) (; ";")) (declaration "undefined8 local_88;" (type_identifier "undefined8") (identifier "local_88") (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "double local_70;" (primitive_type "double") (identifier "local_70") (; ";")) (declaration "double local_68;" (primitive_type "double") (identifier "local_68") (; ";")) (declaration "double local_60;" (primitive_type "double") (identifier "local_60") (; ";")) (declaration "double local_58;" (primitive_type "double") (identifier "local_58") (; ";")) (declaration "double local_50;" (primitive_type "double") (identifier "local_50") (; ";")) (declaration "double local_48;" (primitive_type "double") (identifier "local_48") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (expression_statement "puVar17 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar17 = PTR___stack_chk_guard_003a9230" (identifier "puVar17") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_3c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_3c = *(int *)PTR___stack_chk_guard_003a9230" (identifier "local_3c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (expression_statement "puVar36 = (undefined4 *)*param_1;" (assignment_expression "puVar36 = (undefined4 *)*param_1" (identifier "puVar36") (= "=") (cast_expression "(undefined4 *)*param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)()" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" (( "(") (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" (* "*") (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_omp_get_num_threads_003a990c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)()" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" (( "(") (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" (* "*") (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_omp_get_thread_num_003a9508"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (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 "iVar50 = (int)puVar36[7] / iVar4;" (assignment_expression "iVar50 = (int)puVar36[7] / iVar4" (identifier "iVar50") (= "=") (binary_expression "(int)puVar36[7] / iVar4" (cast_expression "(int)puVar36[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar36[7]" (identifier "puVar36") ([ "[") (number_literal "7") (] "]"))) (/ "/") (identifier "iVar4"))) (; ";")) (expression_statement "iVar4 = (int)puVar36[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar36[7] % iVar4" (identifier "iVar4") (= "=") (binary_expression "(int)puVar36[7] % iVar4" (cast_expression "(int)puVar36[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar36[7]" (identifier "puVar36") ([ "[") (number_literal "7") (] "]"))) (% "%") (identifier "iVar4"))) (; ";")) (expression_statement "puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar21 = (undefined4 *)(uint)(iVar5 < iVar4)" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar5 < iVar4)" (( "(") (binary_expression "iVar5 < iVar4" (identifier "iVar5") (< "<") (identifier "iVar4")) () ")"))))) (; ";")) (if_statement "if (puVar21 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" (if "if") (parenthesized_expression "(puVar21 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar21 != (undefined4 *)0x0" (identifier "puVar21") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" ({ "{") (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" (identifier "iVar50") (= "=") (binary_expression "iVar50 + 1" (identifier "iVar50") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "pfVar30 = (float *)(iVar50 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)(iVar50 * iVar5 + iVar4)" (identifier "pfVar30") (= "=") (cast_expression "(float *)(iVar50 * iVar5 + iVar4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar50 * iVar5 + iVar4)" (( "(") (binary_expression "iVar50 * iVar5 + iVar4" (binary_expression "iVar50 * iVar5" (identifier "iVar50") (* "*") (identifier "iVar5")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "pfVar31 = (float *)(iVar50 + (int)pfVar30);" (assignment_expression "pfVar31 = (float *)(iVar50 + (int)pfVar30)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(iVar50 + (int)pfVar30)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar50 + (int)pfVar30)" (( "(") (binary_expression "iVar50 + (int)pfVar30" (identifier "iVar50") (+ "+") (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30"))) () ")")))) (; ";")) (if_statement "if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" (if "if") (parenthesized_expression "((int)pfVar30 < (int)pfVar31)" (( "(") (binary_expression "(int)pfVar30 < (int)pfVar31" (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30")) (< "<") (cast_expression "(int)pfVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar31"))) () ")")) (compound_statement "{\n    unaff_s6 = local_98;\n    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);\n    unaff_s5 = (undefined4 *)param_1[3];\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);\n    puVar6 = (undefined4 *)param_1[5];\n    unaff_s4 = param_1[1];\n    puVar7 = (undefined *)param_1[4];\n    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;\n    do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" ({ "{") (expression_statement "unaff_s6 = local_98;" (assignment_expression "unaff_s6 = local_98" (identifier "unaff_s6") (= "=") (identifier "local_98")) (; ";")) (expression_statement "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);" (assignment_expression "in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" (identifier "in_f22_23") (= "=") (cast_expression "(double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" (identifier "CONCAT44") (argument_list "((int)((ulonglong)in_f22_23 >> 0x20),param_1[2])" (( "(") (cast_expression "(int)((ulonglong)in_f22_23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)in_f22_23 >> 0x20)" (( "(") (binary_expression "(ulonglong)in_f22_23 >> 0x20" (cast_expression "(ulonglong)in_f22_23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "in_f22_23")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) () ")"))))) (; ";")) (expression_statement "unaff_s5 = (undefined4 *)param_1[3];" (assignment_expression "unaff_s5 = (undefined4 *)param_1[3]" (identifier "unaff_s5") (= "=") (cast_expression "(undefined4 *)param_1[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58)" (identifier "in_f20_21") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1a58)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1a58)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1a58" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "puVar6 = (undefined4 *)param_1[5];" (assignment_expression "puVar6 = (undefined4 *)param_1[5]" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)param_1[5]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "unaff_s4 = param_1[1];" (assignment_expression "unaff_s4 = param_1[1]" (identifier "unaff_s4") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar7 = (undefined *)param_1[4];" (assignment_expression "puVar7 = (undefined *)param_1[4]" (identifier "puVar7") (= "=") (cast_expression "(undefined *)param_1[4]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;" (assignment_expression "puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14" (identifier "puVar8") (= "=") (binary_expression "PTR_s_t_to_left_003a88e4 + 0x2a14" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "0x2a14"))) (; ";")) (do_statement "do {\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);" (do "do") (compound_statement "{\n      if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" ({ "{") (if_statement "if (param_1[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(param_1[7] != 0)" (( "(") (binary_expression "param_1[7] != 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar36[6];\n        local_b8 = 1;\n        puVar21 = puVar6;\n        param_3 = pfVar30;\n        local_b4 = puVar7;\n        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();\n        if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }\n      }" ({ "{") (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" (identifier "param_2") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_4 = puVar36[6];" (assignment_expression "param_4 = puVar36[6]" (identifier "param_4") (= "=") (subscript_expression "puVar36[6]" (identifier "puVar36") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" (identifier "local_b8") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" (identifier "puVar21") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" (identifier "param_3") (= "=") (identifier "pfVar30")) (; ";")) (expression_statement "local_b4 = puVar7;" (assignment_expression "local_b4 = puVar7" (identifier "local_b4") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();" (assignment_expression "unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" (identifier "unaff_s7") (= "=") (call_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)()" (parenthesized_expression "(*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)" (( "(") (pointer_expression "*(code *)PTR_GetCacheViewAuthenticPixels_003a964c" (* "*") (cast_expression "(code *)PTR_GetCacheViewAuthenticPixels_003a964c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetCacheViewAuthenticPixels_003a964c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (unaff_s7 == 0) {\nLAB_00123734:\n          param_1[7] = 0;\n        }\n        else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" (if "if") (parenthesized_expression "(unaff_s7 == 0)" (( "(") (binary_expression "unaff_s7 == 0" (identifier "unaff_s7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00123734:\n          param_1[7] = 0;\n        }" ({ "{") (labeled_statement "LAB_00123734:\n          param_1[7] = 0;" (statement_identifier "LAB_00123734") (: ":") (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" (else "else") (compound_statement "{\n          puVar9 = (undefined4 *)param_1[6];\n          puVar21 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar21;\n          ppfVar23[5] = pfVar28;\n          if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }\n          puVar21 = puVar6;\n          param_2 = puVar7;\n          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();\n          if (iVar4 == 0) {\n            param_1[7] = 0;\n          }\n          if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }\n        }" ({ "{") (expression_statement "puVar9 = (undefined4 *)param_1[6];" (assignment_expression "puVar9 = (undefined4 *)param_1[6]" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)param_1[6]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "puVar21 = puVar9;" (assignment_expression "puVar21 = puVar9" (identifier "puVar21") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" (identifier "ppfVar3") (= "=") (identifier "unaff_s6")) (; ";")) (do_statement "do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar21 != puVar9 + 0x14);" (do "do") (compound_statement "{\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar21;\n            puVar21 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          }" ({ "{") (expression_statement "ppfVar23 = ppfVar3;" (assignment_expression "ppfVar23 = ppfVar3" (identifier "ppfVar23") (= "=") (identifier "ppfVar3")) (; ";")) (expression_statement "puVar11 = puVar21;" (assignment_expression "puVar11 = puVar21" (identifier "puVar11") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "puVar21 = puVar11 + 4;" (assignment_expression "puVar21 = puVar11 + 4" (identifier "puVar21") (= "=") (binary_expression "puVar11 + 4" (identifier "puVar11") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pfVar29 = (float *)puVar11[1];" (assignment_expression "pfVar29 = (float *)puVar11[1]" (identifier "pfVar29") (= "=") (cast_expression "(float *)puVar11[1]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pfVar28 = (float *)puVar11[2];" (assignment_expression "pfVar28 = (float *)puVar11[2]" (identifier "pfVar28") (= "=") (cast_expression "(float *)puVar11[2]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "param_3 = (float *)puVar11[3];" (assignment_expression "param_3 = (float *)puVar11[3]" (identifier "param_3") (= "=") (cast_expression "(float *)puVar11[3]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "*ppfVar23 = (float *)*puVar11;" (assignment_expression "*ppfVar23 = (float *)*puVar11" (pointer_expression "*ppfVar23" (* "*") (identifier "ppfVar23")) (= "=") (cast_expression "(float *)*puVar11" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (expression_statement "ppfVar23[1] = pfVar29;" (assignment_expression "ppfVar23[1] = pfVar29" (subscript_expression "ppfVar23[1]" (identifier "ppfVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pfVar29")) (; ";")) (expression_statement "ppfVar23[2] = pfVar28;" (assignment_expression "ppfVar23[2] = pfVar28" (subscript_expression "ppfVar23[2]" (identifier "ppfVar23") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pfVar28")) (; ";")) (expression_statement "ppfVar23[3] = param_3;" (assignment_expression "ppfVar23[3] = param_3" (subscript_expression "ppfVar23[3]" (identifier "ppfVar23") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "ppfVar3 = ppfVar23 + 4;" (assignment_expression "ppfVar3 = ppfVar23 + 4" (identifier "ppfVar3") (= "=") (binary_expression "ppfVar23 + 4" (identifier "ppfVar23") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar21 != puVar9 + 0x14)" (( "(") (binary_expression "puVar21 != puVar9 + 0x14" (identifier "puVar21") (!= "!=") (binary_expression "puVar9 + 0x14" (identifier "puVar9") (+ "+") (number_literal "0x14"))) () ")")) (; ";")) (expression_statement "pfVar28 = (float *)puVar11[5];" (assignment_expression "pfVar28 = (float *)puVar11[5]" (identifier "pfVar28") (= "=") (cast_expression "(float *)puVar11[5]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[5]" (identifier "puVar11") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "ppfVar23[4] = (float *)*puVar21;" (assignment_expression "ppfVar23[4] = (float *)*puVar21" (subscript_expression "ppfVar23[4]" (identifier "ppfVar23") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(float *)*puVar21" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (; ";")) (expression_statement "ppfVar23[5] = pfVar28;" (assignment_expression "ppfVar23[5] = pfVar28" (subscript_expression "ppfVar23[5]" (identifier "ppfVar23") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "pfVar28")) (; ";")) (if_statement "if (0 < (int)puVar36[6]) {\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }" (if "if") (parenthesized_expression "(0 < (int)puVar36[6])" (( "(") (binary_expression "0 < (int)puVar36[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar36[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar36[6]" (identifier "puVar36") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n            unaff_s0 = (int *)0x0;\n            do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);\n          }" ({ "{") (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" (identifier "unaff_s0") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            } while ((int)unaff_s0 < (int)puVar36[6]);" (do "do") (compound_statement "{\n              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);\n              local_88 = *(undefined8 *)(puVar36 + 0x92);\n              local_98[0] = (float *)*puVar36;\n              local_98[1] = (float *)puVar36[1];\n              local_80 = puVar36[8];\n              local_98[2] = (float *)puVar36[0xaf];\n              param_3 = local_98[0];\n              local_50 = in_f20_21;\n              if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }\n              puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);\n              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;\n            }" ({ "{") (expression_statement "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);" (call_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58)" (parenthesized_expression "(*(code *)PTR_ResetMagickMemory_003a8ff4)" (( "(") (pointer_expression "*(code *)PTR_ResetMagickMemory_003a8ff4" (* "*") (cast_expression "(code *)PTR_ResetMagickMemory_003a8ff4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ResetMagickMemory_003a8ff4"))) () ")")) (argument_list "(unaff_s6,0,0x58)" (( "(") (identifier "unaff_s6") (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "local_88 = *(undefined8 *)(puVar36 + 0x92);" (assignment_expression "local_88 = *(undefined8 *)(puVar36 + 0x92)" (identifier "local_88") (= "=") (pointer_expression "*(undefined8 *)(puVar36 + 0x92)" (* "*") (cast_expression "(undefined8 *)(puVar36 + 0x92)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + 0x92)" (( "(") (binary_expression "puVar36 + 0x92" (identifier "puVar36") (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "local_98[0] = (float *)*puVar36;" (assignment_expression "local_98[0] = (float *)*puVar36" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(float *)*puVar36" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar36" (* "*") (identifier "puVar36")))) (; ";")) (expression_statement "local_98[1] = (float *)puVar36[1];" (assignment_expression "local_98[1] = (float *)puVar36[1]" (subscript_expression "local_98[1]" (identifier "local_98") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(float *)puVar36[1]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[1]" (identifier "puVar36") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_80 = puVar36[8];" (assignment_expression "local_80 = puVar36[8]" (identifier "local_80") (= "=") (subscript_expression "puVar36[8]" (identifier "puVar36") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_98[2] = (float *)puVar36[0xaf];" (assignment_expression "local_98[2] = (float *)puVar36[0xaf]" (subscript_expression "local_98[2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(float *)puVar36[0xaf]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[0xaf]" (identifier "puVar36") ([ "[") (number_literal "0xaf") (] "]")))) (; ";")) (expression_statement "param_3 = local_98[0];" (assignment_expression "param_3 = local_98[0]" (identifier "param_3") (= "=") (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_50 = in_f20_21;" (assignment_expression "local_50 = in_f20_21" (identifier "local_50") (= "=") (identifier "in_f20_21")) (; ";")) (if_statement "if (unaff_s7 != 0) {\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" (if "if") (parenthesized_expression "(unaff_s7 != 0)" (( "(") (binary_expression "unaff_s7 != 0" (identifier "unaff_s7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar4 = puVar36[0xb4];\n                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);\n                local_70 = (double)*param_3;\n                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);\n                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }\n              }" ({ "{") (expression_statement "iVar4 = puVar36[0xb4];" (assignment_expression "iVar4 = puVar36[0xb4]" (identifier "iVar4") (= "=") (subscript_expression "puVar36[0xb4]" (identifier "puVar36") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" (identifier "param_3") (= "=") (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 8) * 4)" (( "(") (binary_expression "unaff_s7 + *(int *)(iVar4 + 8) * 4" (identifier "unaff_s7") (+ "+") (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "local_70 = (double)*param_3;" (assignment_expression "local_70 = (double)*param_3" (identifier "local_70") (= "=") (cast_expression "(double)*param_3" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*param_3" (* "*") (identifier "param_3")))) (; ";")) (expression_statement "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" (identifier "local_68") (= "=") (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" (* "*") (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x14) * 4" (identifier "unaff_s7") (+ "+") (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" (identifier "local_60") (= "=") (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" (* "*") (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x20) * 4" (identifier "unaff_s7") (+ "+") (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);\n                }" ({ "{") (expression_statement "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" (identifier "local_58") (= "=") (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x2c) * 4" (identifier "unaff_s7") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  local_98[2] = (float *)0x4;\n                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);\n                }" ({ "{") (expression_statement "local_98[2] = (float *)0x4;" (assignment_expression "local_98[2] = (float *)0x4" (subscript_expression "local_98[2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(float *)0x4" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) (; ";")) (expression_statement "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" (identifier "local_50") (= "=") (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" (* "*") (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x38) * 4" (identifier "unaff_s7") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);\n                }" ({ "{") (expression_statement "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" (identifier "local_48") (= "=") (cast_expression "(double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" (* "*") (cast_expression "(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + *(int *)(iVar4 + 0x44) * 4)" (( "(") (binary_expression "unaff_s7 + *(int *)(iVar4 + 0x44) * 4" (identifier "unaff_s7") (+ "+") (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" (* "*") (cast_expression "(int *)(iVar4 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x44)" (( "(") (binary_expression "iVar4 + 0x44" (identifier "iVar4") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);" (assignment_expression "puVar21 = (undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)\n                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4)" (parenthesized_expression "(*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)" (( "(") (pointer_expression "*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" (* "*") (cast_expression "(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_IsFuzzyEquivalencePixelInfo_003a8f84"))) () ")")) (argument_list "(unaff_s6,unaff_s4)" (( "(") (identifier "unaff_s6") (, ",") (identifier "unaff_s4") () ")"))))) (; ";")) (if_statement "if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" (if "if") (parenthesized_expression "((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0))" (( "(") (binary_expression "(unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s5 != puVar21)" (( "(") (binary_expression "unaff_s5 != puVar21" (identifier "unaff_s5") (!= "!=") (identifier "puVar21")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar36[0xb4] + 0x34) != 0)" (( "(") (binary_expression "*(int *)(puVar36[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar36[0xb4] + 0x34)" (* "*") (cast_expression "(int *)(puVar36[0xb4] + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36[0xb4] + 0x34)" (( "(") (binary_expression "puVar36[0xb4] + 0x34" (subscript_expression "puVar36[0xb4]" (identifier "puVar36") ([ "[") (number_literal "0xb4") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);\n              }" ({ "{") (expression_statement "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);" (assignment_expression "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0)" (pointer_expression "*(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" (* "*") (cast_expression "(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4)" (( "(") (binary_expression "unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4" (identifier "unaff_s7") (+ "+") (binary_expression "*(int *)(puVar36[0xb4] + 0x38) * 4" (pointer_expression "*(int *)(puVar36[0xb4] + 0x38)" (* "*") (cast_expression "(int *)(puVar36[0xb4] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36[0xb4] + 0x38)" (( "(") (binary_expression "puVar36[0xb4] + 0x38" (subscript_expression "puVar36[0xb4]" (identifier "puVar36") ([ "[") (number_literal "0xb4") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (call_expression "SUB84(in_f22_23,0)" (identifier "SUB84") (argument_list "(in_f22_23,0)" (( "(") (identifier "in_f22_23") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}"))) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" (identifier "unaff_s0") (= "=") (cast_expression "(int *)((int)unaff_s0 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s0 + 1)" (( "(") (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;" (assignment_expression "unaff_s7 = unaff_s7 + puVar36[0xb0] * 4" (identifier "unaff_s7") (= "=") (binary_expression "unaff_s7 + puVar36[0xb0] * 4" (identifier "unaff_s7") (+ "+") (binary_expression "puVar36[0xb0] * 4" (subscript_expression "puVar36[0xb0]" (identifier "puVar36") ([ "[") (number_literal "0xb0") (] "]")) (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)unaff_s0 < (int)puVar36[6])" (( "(") (binary_expression "(int)unaff_s0 < (int)puVar36[6]" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (< "<") (cast_expression "(int)puVar36[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar36[6]" (identifier "puVar36") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" (identifier "puVar21") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "param_2 = puVar7;" (assignment_expression "param_2 = puVar7" (identifier "param_2") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();" (assignment_expression "iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)()" (parenthesized_expression "(*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)" (( "(") (pointer_expression "*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" (* "*") (cast_expression "(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SyncCacheViewAuthenticPixels_003a94f8"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            param_1[7] = 0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            param_1[7] = 0;\n          }" ({ "{") (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (puVar36[0xca] != 0) {\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" (if "if") (parenthesized_expression "(puVar36[0xca] != 0)" (( "(") (binary_expression "puVar36[0xca] != 0" (subscript_expression "puVar36[0xca]" (identifier "puVar36") ([ "[") (number_literal "0xca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            unaff_s0 = (int *)param_1[8];\n            (*(code *)PTR_GOMP_atomic_start_003a92e4)();\n            puVar1 = PTR_GOMP_atomic_end_003a9438;\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*(code *)puVar1)();\n            local_b4 = (undefined *)puVar36[7];\n            param_4 = ((undefined4 *)param_1[8])[1];\n            param_3 = *(float **)param_1[8];\n            local_b8 = 0;\n            puVar21 = puVar36;\n            param_2 = puVar8;\n            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();\n            if (iVar4 == 0) goto LAB_00123734;\n          }" ({ "{") (expression_statement "unaff_s0 = (int *)param_1[8];" (assignment_expression "unaff_s0 = (int *)param_1[8]" (identifier "unaff_s0") (= "=") (cast_expression "(int *)param_1[8]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "(*(code *)PTR_GOMP_atomic_start_003a92e4)();" (call_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)()" (parenthesized_expression "(*(code *)PTR_GOMP_atomic_start_003a92e4)" (( "(") (pointer_expression "*(code *)PTR_GOMP_atomic_start_003a92e4" (* "*") (cast_expression "(code *)PTR_GOMP_atomic_start_003a92e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GOMP_atomic_start_003a92e4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar1 = PTR_GOMP_atomic_end_003a9438;" (assignment_expression "puVar1 = PTR_GOMP_atomic_end_003a9438" (identifier "puVar1") (= "=") (identifier "PTR_GOMP_atomic_end_003a9438")) (; ";")) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" (identifier "uVar10") (= "=") (subscript_expression "unaff_s0[1]" (identifier "unaff_s0") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s0[1] = uVar22;" (assignment_expression "unaff_s0[1] = uVar22" (subscript_expression "unaff_s0[1]" (identifier "unaff_s0") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" (* "*") (identifier "unaff_s0")) (= "=") (binary_expression "(uint)(uVar22 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar22 < uVar10)" (( "(") (binary_expression "uVar22 < uVar10" (identifier "uVar22") (< "<") (identifier "uVar10")) () ")"))) (+ "+") (pointer_expression "*unaff_s0" (* "*") (identifier "unaff_s0")))) (; ";")) (expression_statement "(*(code *)puVar1)();" (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_b4 = (undefined *)puVar36[7];" (assignment_expression "local_b4 = (undefined *)puVar36[7]" (identifier "local_b4") (= "=") (cast_expression "(undefined *)puVar36[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[7]" (identifier "puVar36") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "param_4 = ((undefined4 *)param_1[8])[1];" (assignment_expression "param_4 = ((undefined4 *)param_1[8])[1]" (identifier "param_4") (= "=") (subscript_expression "((undefined4 *)param_1[8])[1]" (parenthesized_expression "((undefined4 *)param_1[8])" (( "(") (cast_expression "(undefined4 *)param_1[8]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_3 = *(float **)param_1[8];" (assignment_expression "param_3 = *(float **)param_1[8]" (identifier "param_3") (= "=") (pointer_expression "*(float **)param_1[8]" (* "*") (cast_expression "(float **)param_1[8]" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))))) (; ";")) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar21 = puVar36;" (assignment_expression "puVar21 = puVar36" (identifier "puVar21") (= "=") (identifier "puVar36")) (; ";")) (expression_statement "param_2 = puVar8;" (assignment_expression "param_2 = puVar8" (identifier "param_2") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();" (assignment_expression "iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)()" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)()" (parenthesized_expression "(*(code *)PTR_SetImageProgress_003a8cb4)" (( "(") (pointer_expression "*(code *)PTR_SetImageProgress_003a8cb4" (* "*") (cast_expression "(code *)PTR_SetImageProgress_003a8cb4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageProgress_003a8cb4"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00123734;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123734;" (goto "goto") (statement_identifier "LAB_00123734") (; ";"))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" (identifier "pfVar30") (= "=") (cast_expression "(float *)((int)pfVar30 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar30 + 1)" (( "(") (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar31 != pfVar30)" (( "(") (binary_expression "pfVar31 != pfVar30" (identifier "pfVar31") (!= "!=") (identifier "pfVar30")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_3c == *(int *)puVar17) {\n    return *(int *)puVar17;\n  }" (if "if") (parenthesized_expression "(local_3c == *(int *)puVar17)" (( "(") (binary_expression "local_3c == *(int *)puVar17" (identifier "local_3c") (== "==") (pointer_expression "*(int *)puVar17" (* "*") (cast_expression "(int *)puVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17")))) () ")")) (compound_statement "{\n    return *(int *)puVar17;\n  }" ({ "{") (return_statement "return *(int *)puVar17;" (return "return") (pointer_expression "*(int *)puVar17" (* "*") (cast_expression "(int *)puVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17"))) (; ";")) (} "}"))) (expression_statement "pcVar37 = FUN_00123798;" (assignment_expression "pcVar37 = FUN_00123798" (identifier "pcVar37") (= "=") (identifier "FUN_00123798")) (; ";")) (expression_statement "puVar17 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar17 = PTR___stack_chk_fail_003a9064" (identifier "puVar17") (= "=") (identifier "PTR___stack_chk_fail_003a9064")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_170 = puVar17 + 0x28d118;" (assignment_expression "puStack_170 = puVar17 + 0x28d118" (identifier "puStack_170") (= "=") (binary_expression "puVar17 + 0x28d118" (identifier "puVar17") (+ "+") (number_literal "0x28d118"))) (; ";")) (expression_statement "piStack_160 = *(int **)(puVar17 + 0x285a98);" (assignment_expression "piStack_160 = *(int **)(puVar17 + 0x285a98)" (identifier "piStack_160") (= "=") (pointer_expression "*(int **)(puVar17 + 0x285a98)" (* "*") (cast_expression "(int **)(puVar17 + 0x285a98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x285a98)" (( "(") (binary_expression "puVar17 + 0x285a98" (identifier "puVar17") (+ "+") (number_literal "0x285a98")) () ")"))))) (; ";")) (expression_statement "iStack_fc = *piStack_160;" (assignment_expression "iStack_fc = *piStack_160" (identifier "iStack_fc") (= "=") (pointer_expression "*piStack_160" (* "*") (identifier "piStack_160"))) (; ";")) (expression_statement "puVar6 = (undefined4 *)*puVar21;" (assignment_expression "puVar6 = (undefined4 *)*puVar21" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)*puVar21" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (; ";")) (expression_statement "piStack_f8 = unaff_s0;" (assignment_expression "piStack_f8 = unaff_s0" (identifier "piStack_f8") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "pfStack_f4 = pfVar30;" (assignment_expression "pfStack_f4 = pfVar30" (identifier "pfStack_f4") (= "=") (identifier "pfVar30")) (; ";")) (expression_statement "pfStack_f0 = pfVar31;" (assignment_expression "pfStack_f0 = pfVar31" (identifier "pfStack_f0") (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "puStack_ec = param_1;" (assignment_expression "puStack_ec = param_1" (identifier "puStack_ec") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uStack_e8 = unaff_s4;" (assignment_expression "uStack_e8 = unaff_s4" (identifier "uStack_e8") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "puStack_e4 = unaff_s5;" (assignment_expression "puStack_e4 = unaff_s5" (identifier "puStack_e4") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "ppfStack_e0 = unaff_s6;" (assignment_expression "ppfStack_e0 = unaff_s6" (identifier "ppfStack_e0") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "iStack_dc = unaff_s7;" (assignment_expression "iStack_dc = unaff_s7" (identifier "iStack_dc") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "puStack_d8 = puVar36;" (assignment_expression "puStack_d8 = puVar36" (identifier "puStack_d8") (= "=") (identifier "puVar36")) (; ";")) (expression_statement "pcStack_d4 = pcVar37;" (assignment_expression "pcStack_d4 = pcVar37" (identifier "pcStack_d4") (= "=") (identifier "pcVar37")) (; ";")) (expression_statement "dStack_d0 = in_f20_21;" (assignment_expression "dStack_d0 = in_f20_21" (identifier "dStack_d0") (= "=") (identifier "in_f20_21")) (; ";")) (expression_statement "iVar4 = (**(code **)(puVar17 + 0x286174))();" (assignment_expression "iVar4 = (**(code **)(puVar17 + 0x286174))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar17 + 0x286174))()" (parenthesized_expression "(**(code **)(puVar17 + 0x286174))" (( "(") (pointer_expression "**(code **)(puVar17 + 0x286174)" (* "*") (pointer_expression "*(code **)(puVar17 + 0x286174)" (* "*") (cast_expression "(code **)(puVar17 + 0x286174)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + 0x286174)" (( "(") (binary_expression "puVar17 + 0x286174" (identifier "puVar17") (+ "+") (number_literal "0x286174")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(puStack_170 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(puStack_170 + -0x73a8))()" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_170 + -0x73a8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73a8))" (( "(") (pointer_expression "**(code **)(puStack_170 + -0x73a8)" (* "*") (pointer_expression "*(code **)(puStack_170 + -0x73a8)" (* "*") (cast_expression "(code **)(puStack_170 + -0x73a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x73a8)" (( "(") (binary_expression "puStack_170 + -0x73a8" (identifier "puStack_170") (+ "+") (number_literal "-0x73a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (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 "iVar50 = (int)puVar6[7] / iVar4;" (assignment_expression "iVar50 = (int)puVar6[7] / iVar4" (identifier "iVar50") (= "=") (binary_expression "(int)puVar6[7] / iVar4" (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]"))) (/ "/") (identifier "iVar4"))) (; ";")) (expression_statement "iVar4 = (int)puVar6[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar6[7] % iVar4" (identifier "iVar4") (= "=") (binary_expression "(int)puVar6[7] % iVar4" (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]"))) (% "%") (identifier "iVar4"))) (; ";")) (expression_statement "puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar36 = (undefined4 *)(uint)(iVar5 < iVar4)" (identifier "puVar36") (= "=") (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar5 < iVar4)" (( "(") (binary_expression "iVar5 < iVar4" (identifier "iVar5") (< "<") (identifier "iVar4")) () ")"))))) (; ";")) (if_statement "if (puVar36 != (undefined4 *)0x0) {\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" (if "if") (parenthesized_expression "(puVar36 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar36 != (undefined4 *)0x0" (identifier "puVar36") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar50 = iVar50 + 1;\n    iVar4 = 0;\n  }" ({ "{") (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" (identifier "iVar50") (= "=") (binary_expression "iVar50 + 1" (identifier "iVar50") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "pfVar30 = (float *)(iVar50 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)(iVar50 * iVar5 + iVar4)" (identifier "pfVar30") (= "=") (cast_expression "(float *)(iVar50 * iVar5 + iVar4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar50 * iVar5 + iVar4)" (( "(") (binary_expression "iVar50 * iVar5 + iVar4" (binary_expression "iVar50 * iVar5" (identifier "iVar50") (* "*") (identifier "iVar5")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "pfVar31 = (float *)(iVar50 + (int)pfVar30);" (assignment_expression "pfVar31 = (float *)(iVar50 + (int)pfVar30)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(iVar50 + (int)pfVar30)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar50 + (int)pfVar30)" (( "(") (binary_expression "iVar50 + (int)pfVar30" (identifier "iVar50") (+ "+") (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30"))) () ")")))) (; ";")) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" (identifier "puVar17") (= "=") (identifier "puStack_170")) (; ";")) (if_statement "if ((int)pfVar30 < (int)pfVar31) {\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" (if "if") (parenthesized_expression "((int)pfVar30 < (int)pfVar31)" (( "(") (binary_expression "(int)pfVar30 < (int)pfVar31" (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30")) (< "<") (cast_expression "(int)pfVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar31"))) () ")")) (compound_statement "{\n    unaff_s6 = apfStack_158;\n    unaff_s5 = (undefined4 *)puVar21[3];\n    param_1 = (undefined4 *)puVar21[1];\n    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);\n    puStack_164 = (undefined *)puVar21[2];\n    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);\n    do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);\n  }" ({ "{") (expression_statement "unaff_s6 = apfStack_158;" (assignment_expression "unaff_s6 = apfStack_158" (identifier "unaff_s6") (= "=") (identifier "apfStack_158")) (; ";")) (expression_statement "unaff_s5 = (undefined4 *)puVar21[3];" (assignment_expression "unaff_s5 = (undefined4 *)puVar21[3]" (identifier "unaff_s5") (= "=") (cast_expression "(undefined4 *)puVar21[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar21[3]" (identifier "puVar21") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "param_1 = (undefined4 *)puVar21[1];" (assignment_expression "param_1 = (undefined4 *)puVar21[1]" (identifier "param_1") (= "=") (cast_expression "(undefined4 *)puVar21[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" (identifier "in_f20_21") (= "=") (pointer_expression "*(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_170 + -0x7fd0) + 0x1a58)" (( "(") (binary_expression "*(int *)(puStack_170 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(puStack_170 + -0x7fd0)" (* "*") (cast_expression "(int *)(puStack_170 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_170 + -0x7fd0)" (( "(") (binary_expression "puStack_170 + -0x7fd0" (identifier "puStack_170") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "puStack_164 = (undefined *)puVar21[2];" (assignment_expression "puStack_164 = (undefined *)puVar21[2]" (identifier "puStack_164") (= "=") (cast_expression "(undefined *)puVar21[2]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar21[2]" (identifier "puVar21") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);" (assignment_expression "puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" (identifier "puStack_15c") (= "=") (cast_expression "(undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_170 + -0x7fcc) + 0x2a28)" (( "(") (binary_expression "*(int *)(puStack_170 + -0x7fcc) + 0x2a28" (pointer_expression "*(int *)(puStack_170 + -0x7fcc)" (* "*") (cast_expression "(int *)(puStack_170 + -0x7fcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_170 + -0x7fcc)" (( "(") (binary_expression "puStack_170 + -0x7fcc" (identifier "puStack_170") (+ "+") (number_literal "-0x7fcc")) () ")")))) (+ "+") (number_literal "0x2a28")) () ")")))) (; ";")) (do_statement "do {\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfVar31 != pfVar30);" (do "do") (compound_statement "{\n      if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" ({ "{") (if_statement "if (puVar21[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(puVar21[7] != 0)" (( "(") (binary_expression "puVar21[7] != 0" (subscript_expression "puVar21[7]" (identifier "puVar21") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar6[6];\n        puStack_174 = puStack_164;\n        uStack_178 = 1;\n        puVar36 = unaff_s5;\n        param_3 = pfVar30;\n        unaff_s4 = (**(code **)(puVar17 + -0x7264))();\n        if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }\n      }" ({ "{") (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" (identifier "param_2") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_4 = puVar6[6];" (assignment_expression "param_4 = puVar6[6]" (identifier "param_4") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puStack_174 = puStack_164;" (assignment_expression "puStack_174 = puStack_164" (identifier "puStack_174") (= "=") (identifier "puStack_164")) (; ";")) (expression_statement "uStack_178 = 1;" (assignment_expression "uStack_178 = 1" (identifier "uStack_178") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar36 = unaff_s5;" (assignment_expression "puVar36 = unaff_s5" (identifier "puVar36") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" (identifier "param_3") (= "=") (identifier "pfVar30")) (; ";")) (expression_statement "unaff_s4 = (**(code **)(puVar17 + -0x7264))();" (assignment_expression "unaff_s4 = (**(code **)(puVar17 + -0x7264))()" (identifier "unaff_s4") (= "=") (call_expression "(**(code **)(puVar17 + -0x7264))()" (parenthesized_expression "(**(code **)(puVar17 + -0x7264))" (( "(") (pointer_expression "**(code **)(puVar17 + -0x7264)" (* "*") (pointer_expression "*(code **)(puVar17 + -0x7264)" (* "*") (cast_expression "(code **)(puVar17 + -0x7264)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x7264)" (( "(") (binary_expression "puVar17 + -0x7264" (identifier "puVar17") (+ "+") (number_literal "-0x7264")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (unaff_s4 == 0) {\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }\n        else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" (if "if") (parenthesized_expression "(unaff_s4 == 0)" (( "(") (binary_expression "unaff_s4 == 0" (identifier "unaff_s4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00123bb4:\n          puVar21[7] = 0;\n          puVar17 = puStack_170;\n        }" ({ "{") (labeled_statement "LAB_00123bb4:\n          puVar21[7] = 0;" (statement_identifier "LAB_00123bb4") (: ":") (expression_statement "puVar21[7] = 0;" (assignment_expression "puVar21[7] = 0" (subscript_expression "puVar21[7]" (identifier "puVar21") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" (identifier "puVar17") (= "=") (identifier "puStack_170")) (; ";")) (} "}")) (else_clause "else {\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" (else "else") (compound_statement "{\n          puVar9 = (undefined4 *)puVar21[6];\n          puVar36 = puVar9;\n          ppfVar3 = unaff_s6;\n          do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);\n          pfVar28 = (float *)puVar11[5];\n          ppfVar23[4] = (float *)*puVar36;\n          ppfVar23[5] = pfVar28;\n          unaff_s0 = (int *)0x0;\n          if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }\n          puVar36 = unaff_s5;\n          param_2 = puStack_164;\n          iVar4 = (**(code **)(puStack_170 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }\n          puVar17 = puStack_170;\n          if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }\n        }" ({ "{") (expression_statement "puVar9 = (undefined4 *)puVar21[6];" (assignment_expression "puVar9 = (undefined4 *)puVar21[6]" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)puVar21[6]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar21[6]" (identifier "puVar21") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "puVar36 = puVar9;" (assignment_expression "puVar36 = puVar9" (identifier "puVar36") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "ppfVar3 = unaff_s6;" (assignment_expression "ppfVar3 = unaff_s6" (identifier "ppfVar3") (= "=") (identifier "unaff_s6")) (; ";")) (do_statement "do {\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          } while (puVar36 != puVar9 + 0x14);" (do "do") (compound_statement "{\n            ppfVar23 = ppfVar3;\n            puVar11 = puVar36;\n            puVar36 = puVar11 + 4;\n            pfVar29 = (float *)puVar11[1];\n            pfVar28 = (float *)puVar11[2];\n            param_3 = (float *)puVar11[3];\n            *ppfVar23 = (float *)*puVar11;\n            ppfVar23[1] = pfVar29;\n            ppfVar23[2] = pfVar28;\n            ppfVar23[3] = param_3;\n            ppfVar3 = ppfVar23 + 4;\n          }" ({ "{") (expression_statement "ppfVar23 = ppfVar3;" (assignment_expression "ppfVar23 = ppfVar3" (identifier "ppfVar23") (= "=") (identifier "ppfVar3")) (; ";")) (expression_statement "puVar11 = puVar36;" (assignment_expression "puVar11 = puVar36" (identifier "puVar11") (= "=") (identifier "puVar36")) (; ";")) (expression_statement "puVar36 = puVar11 + 4;" (assignment_expression "puVar36 = puVar11 + 4" (identifier "puVar36") (= "=") (binary_expression "puVar11 + 4" (identifier "puVar11") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pfVar29 = (float *)puVar11[1];" (assignment_expression "pfVar29 = (float *)puVar11[1]" (identifier "pfVar29") (= "=") (cast_expression "(float *)puVar11[1]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pfVar28 = (float *)puVar11[2];" (assignment_expression "pfVar28 = (float *)puVar11[2]" (identifier "pfVar28") (= "=") (cast_expression "(float *)puVar11[2]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "param_3 = (float *)puVar11[3];" (assignment_expression "param_3 = (float *)puVar11[3]" (identifier "param_3") (= "=") (cast_expression "(float *)puVar11[3]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "*ppfVar23 = (float *)*puVar11;" (assignment_expression "*ppfVar23 = (float *)*puVar11" (pointer_expression "*ppfVar23" (* "*") (identifier "ppfVar23")) (= "=") (cast_expression "(float *)*puVar11" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar11" (* "*") (identifier "puVar11")))) (; ";")) (expression_statement "ppfVar23[1] = pfVar29;" (assignment_expression "ppfVar23[1] = pfVar29" (subscript_expression "ppfVar23[1]" (identifier "ppfVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pfVar29")) (; ";")) (expression_statement "ppfVar23[2] = pfVar28;" (assignment_expression "ppfVar23[2] = pfVar28" (subscript_expression "ppfVar23[2]" (identifier "ppfVar23") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pfVar28")) (; ";")) (expression_statement "ppfVar23[3] = param_3;" (assignment_expression "ppfVar23[3] = param_3" (subscript_expression "ppfVar23[3]" (identifier "ppfVar23") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "ppfVar3 = ppfVar23 + 4;" (assignment_expression "ppfVar3 = ppfVar23 + 4" (identifier "ppfVar3") (= "=") (binary_expression "ppfVar23 + 4" (identifier "ppfVar23") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar36 != puVar9 + 0x14)" (( "(") (binary_expression "puVar36 != puVar9 + 0x14" (identifier "puVar36") (!= "!=") (binary_expression "puVar9 + 0x14" (identifier "puVar9") (+ "+") (number_literal "0x14"))) () ")")) (; ";")) (expression_statement "pfVar28 = (float *)puVar11[5];" (assignment_expression "pfVar28 = (float *)puVar11[5]" (identifier "pfVar28") (= "=") (cast_expression "(float *)puVar11[5]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[5]" (identifier "puVar11") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "ppfVar23[4] = (float *)*puVar36;" (assignment_expression "ppfVar23[4] = (float *)*puVar36" (subscript_expression "ppfVar23[4]" (identifier "ppfVar23") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(float *)*puVar36" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar36" (* "*") (identifier "puVar36")))) (; ";")) (expression_statement "ppfVar23[5] = pfVar28;" (assignment_expression "ppfVar23[5] = pfVar28" (subscript_expression "ppfVar23[5]" (identifier "ppfVar23") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "pfVar28")) (; ";")) (expression_statement "unaff_s0 = (int *)0x0;" (assignment_expression "unaff_s0 = (int *)0x0" (identifier "unaff_s0") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < (int)puVar6[6]) {\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" (if "if") (parenthesized_expression "(0 < (int)puVar6[6])" (( "(") (binary_expression "0 < (int)puVar6[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar6[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n            pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );\n          }" ({ "{") (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x78bc)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(puStack_170 + -0x78bc)" (* "*") (cast_expression "(code **)(puStack_170 + -0x78bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x78bc)" (( "(") (binary_expression "puStack_170 + -0x78bc" (identifier "puStack_170") (+ "+") (number_literal "-0x78bc")) () ")"))))) (; ";")) (do_statement "do {\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            } while( true );" (do "do") (compound_statement "{\n              (*pcVar37)(unaff_s6,0,0x58);\n              uStack_148 = *(undefined8 *)(puVar6 + 0x92);\n              apfStack_158[0] = (float *)*puVar6;\n              apfStack_158[1] = (float *)puVar6[1];\n              uStack_140 = puVar6[8];\n              apfStack_158[2] = (float *)puVar6[0xaf];\n              param_3 = apfStack_158[0];\n              dStack_110 = in_f20_21;\n              if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }\n              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);\n              if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }\n              unaff_s0 = (int *)((int)unaff_s0 + 1);\n              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;\n              if ((int)puVar6[6] <= (int)unaff_s0) break;\n              pcVar37 = *(code **)(puStack_170 + -0x78bc);\n            }" ({ "{") (expression_statement "(*pcVar37)(unaff_s6,0,0x58);" (call_expression "(*pcVar37)(unaff_s6,0,0x58)" (parenthesized_expression "(*pcVar37)" (( "(") (pointer_expression "*pcVar37" (* "*") (identifier "pcVar37")) () ")")) (argument_list "(unaff_s6,0,0x58)" (( "(") (identifier "unaff_s6") (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "uStack_148 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_148 = *(undefined8 *)(puVar6 + 0x92)" (identifier "uStack_148") (= "=") (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" (* "*") (cast_expression "(undefined8 *)(puVar6 + 0x92)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x92)" (( "(") (binary_expression "puVar6 + 0x92" (identifier "puVar6") (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "apfStack_158[0] = (float *)*puVar6;" (assignment_expression "apfStack_158[0] = (float *)*puVar6" (subscript_expression "apfStack_158[0]" (identifier "apfStack_158") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(float *)*puVar6" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (expression_statement "apfStack_158[1] = (float *)puVar6[1];" (assignment_expression "apfStack_158[1] = (float *)puVar6[1]" (subscript_expression "apfStack_158[1]" (identifier "apfStack_158") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(float *)puVar6[1]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uStack_140 = puVar6[8];" (assignment_expression "uStack_140 = puVar6[8]" (identifier "uStack_140") (= "=") (subscript_expression "puVar6[8]" (identifier "puVar6") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "apfStack_158[2] = (float *)puVar6[0xaf];" (assignment_expression "apfStack_158[2] = (float *)puVar6[0xaf]" (subscript_expression "apfStack_158[2]" (identifier "apfStack_158") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(float *)puVar6[0xaf]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[0xaf]" (identifier "puVar6") ([ "[") (number_literal "0xaf") (] "]")))) (; ";")) (expression_statement "param_3 = apfStack_158[0];" (assignment_expression "param_3 = apfStack_158[0]" (identifier "param_3") (= "=") (subscript_expression "apfStack_158[0]" (identifier "apfStack_158") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "dStack_110 = in_f20_21;" (assignment_expression "dStack_110 = in_f20_21" (identifier "dStack_110") (= "=") (identifier "in_f20_21")) (; ";")) (if_statement "if (unaff_s4 == 0) {\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }\n              else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" (if "if") (parenthesized_expression "(unaff_s4 == 0)" (( "(") (binary_expression "unaff_s4 == 0" (identifier "unaff_s4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n              }" ({ "{") (labeled_statement "LAB_00123a48:\n                pcVar37 = *(code **)(puStack_170 + -0x792c);" (statement_identifier "LAB_00123a48") (: ":") (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x792c)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(puStack_170 + -0x792c)" (* "*") (cast_expression "(code **)(puStack_170 + -0x792c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x792c)" (( "(") (binary_expression "puStack_170 + -0x792c" (identifier "puStack_170") (+ "+") (number_literal "-0x792c")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" (else "else") (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);\n                dStack_130 = (double)*param_3;\n                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);\n                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }\n                pcVar37 = *(code **)(puStack_170 + -0x792c);\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }\n              }" ({ "{") (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" (identifier "iVar4") (= "=") (subscript_expression "puVar6[0xb4]" (identifier "puVar6") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);" (assignment_expression "param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" (identifier "param_3") (= "=") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "dStack_130 = (double)*param_3;" (assignment_expression "dStack_130 = (double)*param_3" (identifier "dStack_130") (= "=") (cast_expression "(double)*param_3" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*param_3" (* "*") (identifier "param_3")))) (; ";")) (expression_statement "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);" (assignment_expression "dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (identifier "dStack_128") (= "=") (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);" (assignment_expression "dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (identifier "dStack_120") (= "=") (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);\n                }" ({ "{") (expression_statement "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);" (assignment_expression "dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (identifier "dStack_118") (= "=") (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  apfStack_158[2] = (float *)0x4;\n                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);\n                }" ({ "{") (expression_statement "apfStack_158[2] = (float *)0x4;" (assignment_expression "apfStack_158[2] = (float *)0x4" (subscript_expression "apfStack_158[2]" (identifier "apfStack_158") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(float *)0x4" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) (; ";")) (expression_statement "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);" (assignment_expression "dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (identifier "dStack_110") (= "=") (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x792c);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x792c)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(puStack_170 + -0x792c)" (* "*") (cast_expression "(code **)(puStack_170 + -0x792c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x792c)" (( "(") (binary_expression "puStack_170 + -0x792c" (identifier "puStack_170") (+ "+") (number_literal "-0x792c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);\n                  goto LAB_00123a48;\n                }" ({ "{") (expression_statement "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);" (assignment_expression "dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" (identifier "dStack_108") (= "=") (cast_expression "(double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x44) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x44) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x44) * 4" (pointer_expression "*(int *)(iVar4 + 0x44)" (* "*") (cast_expression "(int *)(iVar4 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x44)" (( "(") (binary_expression "iVar4 + 0x44" (identifier "iVar4") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (goto_statement "goto LAB_00123a48;" (goto "goto") (statement_identifier "LAB_00123a48") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);" (assignment_expression "puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5])" (identifier "puVar36") (= "=") (cast_expression "(undefined4 *)(*pcVar37)(unaff_s6,puVar21[5])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar37)(unaff_s6,puVar21[5])" (parenthesized_expression "(*pcVar37)" (( "(") (pointer_expression "*pcVar37" (* "*") (identifier "pcVar37")) () ")")) (argument_list "(unaff_s6,puVar21[5])" (( "(") (identifier "unaff_s6") (, ",") (subscript_expression "puVar21[5]" (identifier "puVar21") ([ "[") (number_literal "5") (] "]")) () ")"))))) (; ";")) (if_statement "if (param_1 != puVar36) {\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(param_1 != puVar36)" (( "(") (binary_expression "param_1 != puVar36" (identifier "param_1") (!= "!=") (identifier "puVar36")) () ")")) (compound_statement "{\n                iVar4 = puVar6[0xb4];\n                if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }\n                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }\n                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }\n                uVar10 = *(uint *)(iVar4 + 0x34) & 2;\n                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar4 = puVar6[0xb4];" (assignment_expression "iVar4 = puVar6[0xb4]" (identifier "iVar4") (= "=") (subscript_expression "puVar6[0xb4]" (identifier "puVar6") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if ((*(uint *)(iVar4 + 4) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }" (if "if") (parenthesized_expression "((*(uint *)(iVar4 + 4) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar4 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 4) & 2)" (( "(") (binary_expression "*(uint *)(iVar4 + 4) & 2" (pointer_expression "*(uint *)(iVar4 + 4)" (* "*") (cast_expression "(uint *)(iVar4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);\n                }" ({ "{") (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x28)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 8) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 8) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 8) * 4" (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(puVar21[4] + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(puVar21[4] + 0x28)" (* "*") (cast_expression "(double *)(puVar21[4] + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21[4] + 0x28)" (( "(") (binary_expression "puVar21[4] + 0x28" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }" (if "if") (parenthesized_expression "((*(uint *)(iVar4 + 0x10) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar4 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar4 + 0x10) & 2" (pointer_expression "*(uint *)(iVar4 + 0x10)" (* "*") (cast_expression "(uint *)(iVar4 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);\n                }" ({ "{") (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x30)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x14) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x14) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x14) * 4" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(puVar21[4] + 0x30)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(puVar21[4] + 0x30)" (* "*") (cast_expression "(double *)(puVar21[4] + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21[4] + 0x30)" (( "(") (binary_expression "puVar21[4] + 0x30" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }" (if "if") (parenthesized_expression "((*(uint *)(iVar4 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar4 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x1c) & 2)" (( "(") (binary_expression "*(uint *)(iVar4 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar4 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar4 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1c)" (( "(") (binary_expression "iVar4 + 0x1c" (identifier "iVar4") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);\n                }" ({ "{") (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =\n                       (float)*(double *)(puVar21[4] + 0x38)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x20) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x20) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x20) * 4" (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(puVar21[4] + 0x38)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(puVar21[4] + 0x38)" (* "*") (cast_expression "(double *)(puVar21[4] + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21[4] + 0x38)" (( "(") (binary_expression "puVar21[4] + 0x38" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar10 = *(uint *)(iVar4 + 0x34) & 2;" (assignment_expression "uVar10 = *(uint *)(iVar4 + 0x34) & 2" (identifier "uVar10") (= "=") (binary_expression "*(uint *)(iVar4 + 0x34) & 2" (pointer_expression "*(uint *)(iVar4 + 0x34)" (* "*") (cast_expression "(uint *)(iVar4 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")")))) (& "&") (number_literal "2"))) (; ";")) (if_statement "if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }\n                else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" (if "if") (parenthesized_expression "((*(uint *)(iVar4 + 0x28) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(iVar4 + 0x28) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar4 + 0x28) & 2)" (( "(") (binary_expression "*(uint *)(iVar4 + 0x28) & 2" (pointer_expression "*(uint *)(iVar4 + 0x28)" (* "*") (cast_expression "(uint *)(iVar4 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }\n                }" ({ "{") (if_statement "if (uVar10 != 0) {\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    dVar40 = *(double *)(puVar21[4] + 0x48);\n                    goto LAB_0012391c;\n                  }" ({ "{") (expression_statement "dVar40 = *(double *)(puVar21[4] + 0x48);" (assignment_expression "dVar40 = *(double *)(puVar21[4] + 0x48)" (identifier "dVar40") (= "=") (pointer_expression "*(double *)(puVar21[4] + 0x48)" (* "*") (cast_expression "(double *)(puVar21[4] + 0x48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21[4] + 0x48)" (( "(") (binary_expression "puVar21[4] + 0x48" (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (goto_statement "goto LAB_0012391c;" (goto "goto") (statement_identifier "LAB_0012391c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" (else "else") (compound_statement "{\n                  param_3 = (float *)puVar21[4];\n                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);\n                  if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }\n                }" ({ "{") (expression_statement "param_3 = (float *)puVar21[4];" (assignment_expression "param_3 = (float *)puVar21[4]" (identifier "param_3") (= "=") (cast_expression "(float *)puVar21[4]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar21[4]" (identifier "puVar21") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10);" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =\n                       (float)*(double *)(param_3 + 0x10)" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x2c) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(param_3 + 0x10)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(param_3 + 0x10)" (* "*") (cast_expression "(double *)(param_3 + 0x10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x10)" (( "(") (binary_expression "param_3 + 0x10" (identifier "param_3") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (if_statement "if (uVar10 != 0) {\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    dVar40 = *(double *)(param_3 + 0x12);\nLAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;\n                  }" ({ "{") (expression_statement "dVar40 = *(double *)(param_3 + 0x12);" (assignment_expression "dVar40 = *(double *)(param_3 + 0x12)" (identifier "dVar40") (= "=") (pointer_expression "*(double *)(param_3 + 0x12)" (* "*") (cast_expression "(double *)(param_3 + 0x12)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x12)" (( "(") (binary_expression "param_3 + 0x12" (identifier "param_3") (+ "+") (number_literal "0x12")) () ")"))))) (; ";")) (labeled_statement "LAB_0012391c:\n                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;" (statement_identifier "LAB_0012391c") (: ":") (expression_statement "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;" (assignment_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40" (pointer_expression "*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (* "*") (cast_expression "(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + *(int *)(iVar4 + 0x38) * 4)" (( "(") (binary_expression "unaff_s4 + *(int *)(iVar4 + 0x38) * 4" (identifier "unaff_s4") (+ "+") (binary_expression "*(int *)(iVar4 + 0x38) * 4" (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar40" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar40"))) (; ";"))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "unaff_s0 = (int *)((int)unaff_s0 + 1);" (assignment_expression "unaff_s0 = (int *)((int)unaff_s0 + 1)" (identifier "unaff_s0") (= "=") (cast_expression "(int *)((int)unaff_s0 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s0 + 1)" (( "(") (binary_expression "(int)unaff_s0 + 1" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;" (assignment_expression "unaff_s4 = unaff_s4 + puVar6[0xb0] * 4" (identifier "unaff_s4") (= "=") (binary_expression "unaff_s4 + puVar6[0xb0] * 4" (identifier "unaff_s4") (+ "+") (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" (identifier "puVar6") ([ "[") (number_literal "0xb0") (] "]")) (* "*") (number_literal "4")))) (; ";")) (if_statement "if ((int)puVar6[6] <= (int)unaff_s0) break;" (if "if") (parenthesized_expression "((int)puVar6[6] <= (int)unaff_s0)" (( "(") (binary_expression "(int)puVar6[6] <= (int)unaff_s0" (cast_expression "(int)puVar6[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (<= "<=") (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x78bc);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x78bc)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(puStack_170 + -0x78bc)" (* "*") (cast_expression "(code **)(puStack_170 + -0x78bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x78bc)" (( "(") (binary_expression "puStack_170 + -0x78bc" (identifier "puStack_170") (+ "+") (number_literal "-0x78bc")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "puVar36 = unaff_s5;" (assignment_expression "puVar36 = unaff_s5" (identifier "puVar36") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "param_2 = puStack_164;" (assignment_expression "param_2 = puStack_164" (identifier "param_2") (= "=") (identifier "puStack_164")) (; ";")) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x73b8))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_170 + -0x73b8))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x73b8))" (( "(") (pointer_expression "**(code **)(puStack_170 + -0x73b8)" (* "*") (pointer_expression "*(code **)(puStack_170 + -0x73b8)" (* "*") (cast_expression "(code **)(puStack_170 + -0x73b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x73b8)" (( "(") (binary_expression "puStack_170 + -0x73b8" (identifier "puStack_170") (+ "+") (number_literal "-0x73b8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            puVar21[7] = 0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar21[7] = 0;\n          }" ({ "{") (expression_statement "puVar21[7] = 0;" (assignment_expression "puVar21[7] = 0" (subscript_expression "puVar21[7]" (identifier "puVar21") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" (identifier "puVar17") (= "=") (identifier "puStack_170")) (; ";")) (if_statement "if (puVar6[0xca] != 0) {\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" (if "if") (parenthesized_expression "(puVar6[0xca] != 0)" (( "(") (binary_expression "puVar6[0xca] != 0" (subscript_expression "puVar6[0xca]" (identifier "puVar6") ([ "[") (number_literal "0xca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            unaff_s0 = (int *)puVar21[8];\n            (**(code **)(puStack_170 + -0x75cc))();\n            uVar10 = unaff_s0[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(puStack_170 + -0x7478);\n            unaff_s0[1] = uVar22;\n            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;\n            (*pcVar37)();\n            puStack_174 = (undefined *)puVar6[7];\n            param_4 = ((undefined4 *)puVar21[8])[1];\n            param_3 = *(float **)puVar21[8];\n            uStack_178 = 0;\n            puVar36 = puVar6;\n            param_2 = puStack_15c;\n            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();\n            puVar17 = puStack_170;\n            if (iVar4 == 0) goto LAB_00123bb4;\n          }" ({ "{") (expression_statement "unaff_s0 = (int *)puVar21[8];" (assignment_expression "unaff_s0 = (int *)puVar21[8]" (identifier "unaff_s0") (= "=") (cast_expression "(int *)puVar21[8]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar21[8]" (identifier "puVar21") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "(**(code **)(puStack_170 + -0x75cc))();" (call_expression "(**(code **)(puStack_170 + -0x75cc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x75cc))" (( "(") (pointer_expression "**(code **)(puStack_170 + -0x75cc)" (* "*") (pointer_expression "*(code **)(puStack_170 + -0x75cc)" (* "*") (cast_expression "(code **)(puStack_170 + -0x75cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x75cc)" (( "(") (binary_expression "puStack_170 + -0x75cc" (identifier "puStack_170") (+ "+") (number_literal "-0x75cc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = unaff_s0[1];" (assignment_expression "uVar10 = unaff_s0[1]" (identifier "uVar10") (= "=") (subscript_expression "unaff_s0[1]" (identifier "unaff_s0") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar37 = *(code **)(puStack_170 + -0x7478);" (assignment_expression "pcVar37 = *(code **)(puStack_170 + -0x7478)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(puStack_170 + -0x7478)" (* "*") (cast_expression "(code **)(puStack_170 + -0x7478)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x7478)" (( "(") (binary_expression "puStack_170 + -0x7478" (identifier "puStack_170") (+ "+") (number_literal "-0x7478")) () ")"))))) (; ";")) (expression_statement "unaff_s0[1] = uVar22;" (assignment_expression "unaff_s0[1] = uVar22" (subscript_expression "unaff_s0[1]" (identifier "unaff_s0") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;" (assignment_expression "*unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0" (pointer_expression "*unaff_s0" (* "*") (identifier "unaff_s0")) (= "=") (binary_expression "(uint)(uVar22 < uVar10) + *unaff_s0" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar22 < uVar10)" (( "(") (binary_expression "uVar22 < uVar10" (identifier "uVar22") (< "<") (identifier "uVar10")) () ")"))) (+ "+") (pointer_expression "*unaff_s0" (* "*") (identifier "unaff_s0")))) (; ";")) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" (( "(") (pointer_expression "*pcVar37" (* "*") (identifier "pcVar37")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_174 = (undefined *)puVar6[7];" (assignment_expression "puStack_174 = (undefined *)puVar6[7]" (identifier "puStack_174") (= "=") (cast_expression "(undefined *)puVar6[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "param_4 = ((undefined4 *)puVar21[8])[1];" (assignment_expression "param_4 = ((undefined4 *)puVar21[8])[1]" (identifier "param_4") (= "=") (subscript_expression "((undefined4 *)puVar21[8])[1]" (parenthesized_expression "((undefined4 *)puVar21[8])" (( "(") (cast_expression "(undefined4 *)puVar21[8]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar21[8]" (identifier "puVar21") ([ "[") (number_literal "8") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_3 = *(float **)puVar21[8];" (assignment_expression "param_3 = *(float **)puVar21[8]" (identifier "param_3") (= "=") (pointer_expression "*(float **)puVar21[8]" (* "*") (cast_expression "(float **)puVar21[8]" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "puVar21[8]" (identifier "puVar21") ([ "[") (number_literal "8") (] "]"))))) (; ";")) (expression_statement "uStack_178 = 0;" (assignment_expression "uStack_178 = 0" (identifier "uStack_178") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar36 = puVar6;" (assignment_expression "puVar36 = puVar6" (identifier "puVar36") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "param_2 = puStack_15c;" (assignment_expression "param_2 = puStack_15c" (identifier "param_2") (= "=") (identifier "puStack_15c")) (; ";")) (expression_statement "iVar4 = (**(code **)(puStack_170 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(puStack_170 + -0x7bfc))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_170 + -0x7bfc))()" (parenthesized_expression "(**(code **)(puStack_170 + -0x7bfc))" (( "(") (pointer_expression "**(code **)(puStack_170 + -0x7bfc)" (* "*") (pointer_expression "*(code **)(puStack_170 + -0x7bfc)" (* "*") (cast_expression "(code **)(puStack_170 + -0x7bfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_170 + -0x7bfc)" (( "(") (binary_expression "puStack_170 + -0x7bfc" (identifier "puStack_170") (+ "+") (number_literal "-0x7bfc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar17 = puStack_170;" (assignment_expression "puVar17 = puStack_170" (identifier "puVar17") (= "=") (identifier "puStack_170")) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00123bb4;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123bb4;" (goto "goto") (statement_identifier "LAB_00123bb4") (; ";"))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" (identifier "pfVar30") (= "=") (cast_expression "(float *)((int)pfVar30 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar30 + 1)" (( "(") (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar31 != pfVar30)" (( "(") (binary_expression "pfVar31 != pfVar30" (identifier "pfVar31") (!= "!=") (identifier "pfVar30")) () ")")) (; ";")) (} "}"))) (if_statement "if (iStack_fc == *piStack_160) {\n    return *piStack_160;\n  }" (if "if") (parenthesized_expression "(iStack_fc == *piStack_160)" (( "(") (binary_expression "iStack_fc == *piStack_160" (identifier "iStack_fc") (== "==") (pointer_expression "*piStack_160" (* "*") (identifier "piStack_160"))) () ")")) (compound_statement "{\n    return *piStack_160;\n  }" ({ "{") (return_statement "return *piStack_160;" (return "return") (pointer_expression "*piStack_160" (* "*") (identifier "piStack_160")) (; ";")) (} "}"))) (expression_statement "pcVar37 = *(code **)(puVar17 + -0x784c);" (assignment_expression "pcVar37 = *(code **)(puVar17 + -0x784c)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(puVar17 + -0x784c)" (* "*") (cast_expression "(code **)(puVar17 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x784c)" (( "(") (binary_expression "puVar17 + -0x784c" (identifier "puVar17") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar38 = FUN_00123c14;" (assignment_expression "pcVar38 = FUN_00123c14" (identifier "pcVar38") (= "=") (identifier "FUN_00123c14")) (; ";")) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" (( "(") (pointer_expression "*pcVar37" (* "*") (identifier "pcVar37")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_240 = pcVar37 + 0x28cc9c;" (assignment_expression "pcStack_240 = pcVar37 + 0x28cc9c" (identifier "pcStack_240") (= "=") (binary_expression "pcVar37 + 0x28cc9c" (identifier "pcVar37") (+ "+") (number_literal "0x28cc9c"))) (; ";")) (expression_statement "piStack_228 = *(int **)(pcVar37 + 0x28561c);" (assignment_expression "piStack_228 = *(int **)(pcVar37 + 0x28561c)" (identifier "piStack_228") (= "=") (pointer_expression "*(int **)(pcVar37 + 0x28561c)" (* "*") (cast_expression "(int **)(pcVar37 + 0x28561c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar37 + 0x28561c)" (( "(") (binary_expression "pcVar37 + 0x28561c" (identifier "pcVar37") (+ "+") (number_literal "0x28561c")) () ")"))))) (; ";")) (expression_statement "iStack_1c4 = *piStack_228;" (assignment_expression "iStack_1c4 = *piStack_228" (identifier "iStack_1c4") (= "=") (pointer_expression "*piStack_228" (* "*") (identifier "piStack_228"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)*puVar36;" (assignment_expression "puVar9 = (undefined4 *)*puVar36" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)*puVar36" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar36" (* "*") (identifier "puVar36")))) (; ";")) (expression_statement "piStack_1c0 = unaff_s0;" (assignment_expression "piStack_1c0 = unaff_s0" (identifier "piStack_1c0") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "pfStack_1bc = pfVar30;" (assignment_expression "pfStack_1bc = pfVar30" (identifier "pfStack_1bc") (= "=") (identifier "pfVar30")) (; ";")) (expression_statement "pfStack_1b8 = pfVar31;" (assignment_expression "pfStack_1b8 = pfVar31" (identifier "pfStack_1b8") (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "puStack_1b4 = param_1;" (assignment_expression "puStack_1b4 = param_1" (identifier "puStack_1b4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uStack_1b0 = unaff_s4;" (assignment_expression "uStack_1b0 = unaff_s4" (identifier "uStack_1b0") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "puStack_1ac = unaff_s5;" (assignment_expression "puStack_1ac = unaff_s5" (identifier "puStack_1ac") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "ppfStack_1a8 = unaff_s6;" (assignment_expression "ppfStack_1a8 = unaff_s6" (identifier "ppfStack_1a8") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStack_1a4 = puVar21;" (assignment_expression "puStack_1a4 = puVar21" (identifier "puStack_1a4") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "puStack_1a0 = puVar6;" (assignment_expression "puStack_1a0 = puVar6" (identifier "puStack_1a0") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "pcStack_19c = pcVar38;" (assignment_expression "pcStack_19c = pcVar38" (identifier "pcStack_19c") (= "=") (identifier "pcVar38")) (; ";")) (expression_statement "dStack_198 = in_f20_21;" (assignment_expression "dStack_198 = in_f20_21" (identifier "dStack_198") (= "=") (identifier "in_f20_21")) (; ";")) (expression_statement "dStack_190 = in_f22_23;" (assignment_expression "dStack_190 = in_f22_23" (identifier "dStack_190") (= "=") (identifier "in_f22_23")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar37 + 0x285cf8))();" (assignment_expression "iVar4 = (**(code **)(pcVar37 + 0x285cf8))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar37 + 0x285cf8))()" (parenthesized_expression "(**(code **)(pcVar37 + 0x285cf8))" (( "(") (pointer_expression "**(code **)(pcVar37 + 0x285cf8)" (* "*") (pointer_expression "*(code **)(pcVar37 + 0x285cf8)" (* "*") (cast_expression "(code **)(pcVar37 + 0x285cf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar37 + 0x285cf8)" (( "(") (binary_expression "pcVar37 + 0x285cf8" (identifier "pcVar37") (+ "+") (number_literal "0x285cf8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_240 + -0x73a8))();" (assignment_expression "iVar5 = (**(code **)(pcStack_240 + -0x73a8))()" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_240 + -0x73a8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73a8))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x73a8)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x73a8)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x73a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x73a8)" (( "(") (binary_expression "pcStack_240 + -0x73a8" (identifier "pcStack_240") (+ "+") (number_literal "-0x73a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (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 "piVar51 = (int *)((int)puVar9[7] / iVar4);" (assignment_expression "piVar51 = (int *)((int)puVar9[7] / iVar4)" (identifier "piVar51") (= "=") (cast_expression "(int *)((int)puVar9[7] / iVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9[7] / iVar4)" (( "(") (binary_expression "(int)puVar9[7] / iVar4" (cast_expression "(int)puVar9[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar9[7]" (identifier "puVar9") ([ "[") (number_literal "7") (] "]"))) (/ "/") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "iVar4 = (int)puVar9[7] % iVar4;" (assignment_expression "iVar4 = (int)puVar9[7] % iVar4" (identifier "iVar4") (= "=") (binary_expression "(int)puVar9[7] % iVar4" (cast_expression "(int)puVar9[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar9[7]" (identifier "puVar9") ([ "[") (number_literal "7") (] "]"))) (% "%") (identifier "iVar4"))) (; ";")) (expression_statement "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);" (assignment_expression "puVar6 = (undefined4 *)(uint)(iVar5 < iVar4)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(uint)(iVar5 < iVar4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar5 < iVar4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar5 < iVar4)" (( "(") (binary_expression "iVar5 < iVar4" (identifier "iVar5") (< "<") (identifier "iVar4")) () ")"))))) (; ";")) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }" (if "if") (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar6 != (undefined4 *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    piVar51 = (int *)((int)piVar51 + 1);\n    iVar4 = 0;\n  }" ({ "{") (expression_statement "piVar51 = (int *)((int)piVar51 + 1);" (assignment_expression "piVar51 = (int *)((int)piVar51 + 1)" (identifier "piVar51") (= "=") (cast_expression "(int *)((int)piVar51 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar51 + 1)" (( "(") (binary_expression "(int)piVar51 + 1" (cast_expression "(int)piVar51" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar51")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);" (assignment_expression "pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4)" (identifier "pfVar30") (= "=") (cast_expression "(float *)((int)piVar51 * iVar5 + iVar4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar51 * iVar5 + iVar4)" (( "(") (binary_expression "(int)piVar51 * iVar5 + iVar4" (binary_expression "(int)piVar51 * iVar5" (cast_expression "(int)piVar51" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar51")) (* "*") (identifier "iVar5")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);" (assignment_expression "pfStack_234 = (float *)((int)piVar51 + (int)pfVar30)" (identifier "pfStack_234") (= "=") (cast_expression "(float *)((int)piVar51 + (int)pfVar30)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar51 + (int)pfVar30)" (( "(") (binary_expression "(int)piVar51 + (int)pfVar30" (cast_expression "(int)piVar51" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar51")) (+ "+") (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30"))) () ")")))) (; ";")) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" (identifier "pcVar37") (= "=") (identifier "pcStack_240")) (; ";")) (if_statement "if ((int)pfVar30 < (int)pfStack_234) {\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }" (if "if") (parenthesized_expression "((int)pfVar30 < (int)pfStack_234)" (( "(") (binary_expression "(int)pfVar30 < (int)pfStack_234" (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30")) (< "<") (cast_expression "(int)pfStack_234" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfStack_234"))) () ")")) (compound_statement "{\n    unaff_s6 = &pfStack_220;\n    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);\n    unaff_s4 = puVar36[4];\n    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);\n    puStack_230 = (undefined4 *)puVar36[6];\n    unaff_s5 = (undefined4 *)puVar36[2];\n    param_1 = (undefined4 *)puVar36[1];\n    puStack_22c = (undefined *)puVar36[5];\n    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);\n    do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);\n  }" ({ "{") (expression_statement "unaff_s6 = &pfStack_220;" (assignment_expression "unaff_s6 = &pfStack_220" (identifier "unaff_s6") (= "=") (pointer_expression "&pfStack_220" (& "&") (identifier "pfStack_220"))) (; ";")) (expression_statement "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);" (assignment_expression "in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" (identifier "in_f20_21") (= "=") (cast_expression "(double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" (identifier "CONCAT44") (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3])" (( "(") (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" (( "(") (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "in_f20_21")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (subscript_expression "puVar36[3]" (identifier "puVar36") ([ "[") (number_literal "3") (] "]")) () ")"))))) (; ";")) (expression_statement "unaff_s4 = puVar36[4];" (assignment_expression "unaff_s4 = puVar36[4]" (identifier "unaff_s4") (= "=") (subscript_expression "puVar36[4]" (identifier "puVar36") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" (identifier "in_f22_23") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58)" (( "(") (binary_expression "*(int *)(pcStack_240 + -0x7fd0) + 0x1a58" (pointer_expression "*(int *)(pcStack_240 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fd0)" (( "(") (binary_expression "pcStack_240 + -0x7fd0" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "puStack_230 = (undefined4 *)puVar36[6];" (assignment_expression "puStack_230 = (undefined4 *)puVar36[6]" (identifier "puStack_230") (= "=") (cast_expression "(undefined4 *)puVar36[6]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[6]" (identifier "puVar36") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "unaff_s5 = (undefined4 *)puVar36[2];" (assignment_expression "unaff_s5 = (undefined4 *)puVar36[2]" (identifier "unaff_s5") (= "=") (cast_expression "(undefined4 *)puVar36[2]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[2]" (identifier "puVar36") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "param_1 = (undefined4 *)puVar36[1];" (assignment_expression "param_1 = (undefined4 *)puVar36[1]" (identifier "param_1") (= "=") (cast_expression "(undefined4 *)puVar36[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[1]" (identifier "puVar36") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puStack_22c = (undefined *)puVar36[5];" (assignment_expression "puStack_22c = (undefined *)puVar36[5]" (identifier "puStack_22c") (= "=") (cast_expression "(undefined *)puVar36[5]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[5]" (identifier "puVar36") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);" (assignment_expression "puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" (identifier "puStack_224") (= "=") (cast_expression "(undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14)" (( "(") (binary_expression "*(int *)(pcStack_240 + -0x7fcc) + 0x2a14" (pointer_expression "*(int *)(pcStack_240 + -0x7fcc)" (* "*") (cast_expression "(int *)(pcStack_240 + -0x7fcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_240 + -0x7fcc)" (( "(") (binary_expression "pcStack_240 + -0x7fcc" (identifier "pcStack_240") (+ "+") (number_literal "-0x7fcc")) () ")")))) (+ "+") (number_literal "0x2a14")) () ")")))) (; ";")) (do_statement "do {\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    } while (pfStack_234 != pfVar30);" (do "do") (compound_statement "{\n      if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }\n      pfVar30 = (float *)((int)pfVar30 + 1);\n    }" ({ "{") (if_statement "if (puVar36[7] != 0) {\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(puVar36[7] != 0)" (( "(") (binary_expression "puVar36[7] != 0" (subscript_expression "puVar36[7]" (identifier "puVar36") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        param_2 = (undefined *)0x0;\n        param_4 = puVar9[6];\n        puStack_244 = puStack_22c;\n        iStack_248 = 1;\n        puVar6 = puStack_230;\n        param_3 = pfVar30;\n        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();\n        if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }\n      }" ({ "{") (expression_statement "param_2 = (undefined *)0x0;" (assignment_expression "param_2 = (undefined *)0x0" (identifier "param_2") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_4 = puVar9[6];" (assignment_expression "param_4 = puVar9[6]" (identifier "param_4") (= "=") (subscript_expression "puVar9[6]" (identifier "puVar9") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puStack_244 = puStack_22c;" (assignment_expression "puStack_244 = puStack_22c" (identifier "puStack_244") (= "=") (identifier "puStack_22c")) (; ";")) (expression_statement "iStack_248 = 1;" (assignment_expression "iStack_248 = 1" (identifier "iStack_248") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" (identifier "puVar6") (= "=") (identifier "puStack_230")) (; ";")) (expression_statement "param_3 = pfVar30;" (assignment_expression "param_3 = pfVar30" (identifier "param_3") (= "=") (identifier "pfVar30")) (; ";")) (expression_statement "piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();" (assignment_expression "piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))()" (identifier "piVar51") (= "=") (cast_expression "(int *)(**(code **)(pcVar37 + -0x7264))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar37 + -0x7264))()" (parenthesized_expression "(**(code **)(pcVar37 + -0x7264))" (( "(") (pointer_expression "**(code **)(pcVar37 + -0x7264)" (* "*") (pointer_expression "*(code **)(pcVar37 + -0x7264)" (* "*") (cast_expression "(code **)(pcVar37 + -0x7264)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar37 + -0x7264)" (( "(") (binary_expression "pcVar37 + -0x7264" (identifier "pcVar37") (+ "+") (number_literal "-0x7264")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (piVar51 == (int *)0x0) {\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }\n        else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" (if "if") (parenthesized_expression "(piVar51 == (int *)0x0)" (( "(") (binary_expression "piVar51 == (int *)0x0" (identifier "piVar51") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00123f74:\n          puVar36[7] = 0;\n          pcVar37 = pcStack_240;\n        }" ({ "{") (labeled_statement "LAB_00123f74:\n          puVar36[7] = 0;" (statement_identifier "LAB_00123f74") (: ":") (expression_statement "puVar36[7] = 0;" (assignment_expression "puVar36[7] = 0" (subscript_expression "puVar36[7]" (identifier "puVar36") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" (identifier "pcVar37") (= "=") (identifier "pcStack_240")) (; ";")) (} "}")) (else_clause "else {\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" (else "else") (compound_statement "{\n          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);\n          if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }\n          puVar6 = puStack_230;\n          param_2 = puStack_22c;\n          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();\n          if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }\n          pcVar37 = pcStack_240;\n          if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }\n        }" ({ "{") (expression_statement "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);" (call_expression "(**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75fc))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x75fc)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x75fc)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x75fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x75fc)" (( "(") (binary_expression "pcStack_240 + -0x75fc" (identifier "pcStack_240") (+ "+") (number_literal "-0x75fc")) () ")"))))) () ")")) (argument_list "(puVar9,unaff_s6)" (( "(") (identifier "puVar9") (, ",") (identifier "unaff_s6") () ")"))) (; ";")) (if_statement "if (0 < (int)puVar9[6]) {\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }" (if "if") (parenthesized_expression "(0 < (int)puVar9[6])" (( "(") (binary_expression "0 < (int)puVar9[6]" (number_literal "0") (< "<") (cast_expression "(int)puVar9[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar9[6]" (identifier "puVar9") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n            puVar21 = (undefined4 *)0x0;\n            do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);\n          }" ({ "{") (expression_statement "puVar21 = (undefined4 *)0x0;" (assignment_expression "puVar21 = (undefined4 *)0x0" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            } while ((int)puVar21 < (int)puVar9[6]);" (do "do") (compound_statement "{\n              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);\n              uStack_210 = *(undefined8 *)(puVar9 + 0x92);\n              pfStack_220 = (float *)*puVar9;\n              uStack_21c = puVar9[1];\n              uStack_208 = puVar9[8];\n              uStack_218 = puVar9[0xaf];\n              param_3 = pfStack_220;\n              dStack_1d8 = in_f22_23;\n              if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }\n              uVar10 = 0;\n              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }\n              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }\n              puVar21 = (undefined4 *)((int)puVar21 + 1);\n              piVar51 = piVar51 + puVar9[0xb0];\n            }" ({ "{") (expression_statement "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);" (call_expression "(**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58)" (parenthesized_expression "(**(code **)(pcStack_240 + -0x78bc))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x78bc)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x78bc)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x78bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x78bc)" (( "(") (binary_expression "pcStack_240 + -0x78bc" (identifier "pcStack_240") (+ "+") (number_literal "-0x78bc")) () ")"))))) () ")")) (argument_list "(unaff_s6,0,0x58)" (( "(") (identifier "unaff_s6") (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "uStack_210 = *(undefined8 *)(puVar9 + 0x92);" (assignment_expression "uStack_210 = *(undefined8 *)(puVar9 + 0x92)" (identifier "uStack_210") (= "=") (pointer_expression "*(undefined8 *)(puVar9 + 0x92)" (* "*") (cast_expression "(undefined8 *)(puVar9 + 0x92)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x92)" (( "(") (binary_expression "puVar9 + 0x92" (identifier "puVar9") (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "pfStack_220 = (float *)*puVar9;" (assignment_expression "pfStack_220 = (float *)*puVar9" (identifier "pfStack_220") (= "=") (cast_expression "(float *)*puVar9" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")))) (; ";")) (expression_statement "uStack_21c = puVar9[1];" (assignment_expression "uStack_21c = puVar9[1]" (identifier "uStack_21c") (= "=") (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uStack_208 = puVar9[8];" (assignment_expression "uStack_208 = puVar9[8]" (identifier "uStack_208") (= "=") (subscript_expression "puVar9[8]" (identifier "puVar9") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "uStack_218 = puVar9[0xaf];" (assignment_expression "uStack_218 = puVar9[0xaf]" (identifier "uStack_218") (= "=") (subscript_expression "puVar9[0xaf]" (identifier "puVar9") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "param_3 = pfStack_220;" (assignment_expression "param_3 = pfStack_220" (identifier "param_3") (= "=") (identifier "pfStack_220")) (; ";")) (expression_statement "dStack_1d8 = in_f22_23;" (assignment_expression "dStack_1d8 = in_f22_23" (identifier "dStack_1d8") (= "=") (identifier "in_f22_23")) (; ";")) (if_statement "if (piVar51 != (int *)0x0) {\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }" (if "if") (parenthesized_expression "(piVar51 != (int *)0x0)" (( "(") (binary_expression "piVar51 != (int *)0x0" (identifier "piVar51") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                iVar4 = puVar9[0xb4];\n                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));\n                dStack_1f8 = (double)*param_3;\n                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];\n                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];\n                if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }\n                if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }\n                if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }\n              }" ({ "{") (expression_statement "iVar4 = puVar9[0xb4];" (assignment_expression "iVar4 = puVar9[0xb4]" (identifier "iVar4") (= "=") (subscript_expression "puVar9[0xb4]" (identifier "puVar9") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));" (assignment_expression "param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8))" (identifier "param_3") (= "=") (cast_expression "(float *)(piVar51 + *(int *)(iVar4 + 8))" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar51 + *(int *)(iVar4 + 8))" (( "(") (binary_expression "piVar51 + *(int *)(iVar4 + 8)" (identifier "piVar51") (+ "+") (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (expression_statement "dStack_1f8 = (double)*param_3;" (assignment_expression "dStack_1f8 = (double)*param_3" (identifier "dStack_1f8") (= "=") (cast_expression "(double)*param_3" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*param_3" (* "*") (identifier "param_3")))) (; ";")) (expression_statement "dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];" (assignment_expression "dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)]" (identifier "dStack_1f0") (= "=") (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x14)]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x14)]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "piVar51[*(int *)(iVar4 + 0x14)]" (identifier "piVar51") ([ "[") (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (] "]"))))) (; ";")) (expression_statement "dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];" (assignment_expression "dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)]" (identifier "dStack_1e8") (= "=") (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x20)]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x20)]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "piVar51[*(int *)(iVar4 + 0x20)]" (identifier "piVar51") ([ "[") (pointer_expression "*(int *)(iVar4 + 0x20)" (* "*") (cast_expression "(int *)(iVar4 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x20)" (( "(") (binary_expression "iVar4 + 0x20" (identifier "iVar4") (+ "+") (number_literal "0x20")) () ")")))) (] "]"))))) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x28) != 0) {\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x28) != 0" (pointer_expression "*(int *)(iVar4 + 0x28)" (* "*") (cast_expression "(int *)(iVar4 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];\n                }" ({ "{") (expression_statement "dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];" (assignment_expression "dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)]" (identifier "dStack_1e0") (= "=") (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x2c)]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x2c)]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "piVar51[*(int *)(iVar4 + 0x2c)]" (identifier "piVar51") ([ "[") (pointer_expression "*(int *)(iVar4 + 0x2c)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c)" (( "(") (binary_expression "iVar4 + 0x2c" (identifier "iVar4") (+ "+") (number_literal "0x2c")) () ")")))) (] "]"))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x34) != 0) {\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x34) != 0" (pointer_expression "*(int *)(iVar4 + 0x34)" (* "*") (cast_expression "(int *)(iVar4 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x34)" (( "(") (binary_expression "iVar4 + 0x34" (identifier "iVar4") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uStack_218 = 4;\n                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];\n                }" ({ "{") (expression_statement "uStack_218 = 4;" (assignment_expression "uStack_218 = 4" (identifier "uStack_218") (= "=") (number_literal "4")) (; ";")) (expression_statement "dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];" (assignment_expression "dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)]" (identifier "dStack_1d8") (= "=") (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x38)]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x38)]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "piVar51[*(int *)(iVar4 + 0x38)]" (identifier "piVar51") ([ "[") (pointer_expression "*(int *)(iVar4 + 0x38)" (* "*") (cast_expression "(int *)(iVar4 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x38)" (( "(") (binary_expression "iVar4 + 0x38" (identifier "iVar4") (+ "+") (number_literal "0x38")) () ")")))) (] "]"))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];\n                }" ({ "{") (expression_statement "dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];" (assignment_expression "dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)]" (identifier "dStack_1d0") (= "=") (cast_expression "(double)(float)piVar51[*(int *)(iVar4 + 0x44)]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)piVar51[*(int *)(iVar4 + 0x44)]" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (subscript_expression "piVar51[*(int *)(iVar4 + 0x44)]" (identifier "piVar51") ([ "[") (pointer_expression "*(int *)(iVar4 + 0x44)" (* "*") (cast_expression "(int *)(iVar4 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x44)" (( "(") (binary_expression "iVar4 + 0x44" (identifier "iVar4") (+ "+") (number_literal "0x44")) () ")")))) (] "]"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" (if "if") (parenthesized_expression "(((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0))" (( "(") (binary_expression "((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&\n                 (*(double *)(param_1 + 0xc) <= dStack_1f0)" (parenthesized_expression "((*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10)))" (( "(") (binary_expression "(*(double *)(param_1 + 10) <= dStack_1f8) &&\n                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))" (parenthesized_expression "(*(double *)(param_1 + 10) <= dStack_1f8)" (( "(") (binary_expression "*(double *)(param_1 + 10) <= dStack_1f8" (pointer_expression "*(double *)(param_1 + 10)" (* "*") (cast_expression "(double *)(param_1 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (<= "<=") (identifier "dStack_1f8")) () ")")) (&& "&&") (parenthesized_expression "(dStack_1f8 <= *(double *)(unaff_s5 + 10))" (( "(") (binary_expression "dStack_1f8 <= *(double *)(unaff_s5 + 10)" (identifier "dStack_1f8") (<= "<=") (pointer_expression "*(double *)(unaff_s5 + 10)" (* "*") (cast_expression "(double *)(unaff_s5 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s5 + 10)" (( "(") (binary_expression "unaff_s5 + 10" (identifier "unaff_s5") (+ "+") (number_literal "10")) () ")"))))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(double *)(param_1 + 0xc) <= dStack_1f0)" (( "(") (binary_expression "*(double *)(param_1 + 0xc) <= dStack_1f0" (pointer_expression "*(double *)(param_1 + 0xc)" (* "*") (cast_expression "(double *)(param_1 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (<= "<=") (identifier "dStack_1f0")) () ")"))) () ")")) (compound_statement "{\n                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }\n              }" ({ "{") (if_statement "if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {\n                  uVar10 = 0;\n                }\n                else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" (if "if") (parenthesized_expression "((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe)))" (( "(") (binary_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||\n                   (dStack_1e8 < *(double *)(param_1 + 0xe))" (parenthesized_expression "(*(double *)(unaff_s5 + 0xc) < dStack_1f0)" (( "(") (binary_expression "*(double *)(unaff_s5 + 0xc) < dStack_1f0" (pointer_expression "*(double *)(unaff_s5 + 0xc)" (* "*") (cast_expression "(double *)(unaff_s5 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s5 + 0xc)" (( "(") (binary_expression "unaff_s5 + 0xc" (identifier "unaff_s5") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "dStack_1f0")) () ")")) (|| "||") (parenthesized_expression "(dStack_1e8 < *(double *)(param_1 + 0xe))" (( "(") (binary_expression "dStack_1e8 < *(double *)(param_1 + 0xe)" (identifier "dStack_1e8") (< "<") (pointer_expression "*(double *)(param_1 + 0xe)" (* "*") (cast_expression "(double *)(param_1 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe)" (( "(") (binary_expression "param_1 + 0xe" (identifier "param_1") (+ "+") (number_literal "0xe")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n                  uVar10 = 0;\n                }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" (else "else") (compound_statement "{\n                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));\n                }" ({ "{") (expression_statement "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));" (assignment_expression "uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" (identifier "uVar10") (= "=") (call_expression "(uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(dStack_1e8 <= *(double *)(unaff_s5 + 0xe))" (( "(") (binary_expression "dStack_1e8 <= *(double *)(unaff_s5 + 0xe)" (identifier "dStack_1e8") (<= "<=") (pointer_expression "*(double *)(unaff_s5 + 0xe)" (* "*") (cast_expression "(double *)(unaff_s5 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s5 + 0xe)" (( "(") (binary_expression "unaff_s5 + 0xe" (identifier "unaff_s5") (+ "+") (number_literal "0xe")) () ")"))))) () ")")))) (; ";")) (} "}")))) (} "}"))) (if_statement "if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" (if "if") (parenthesized_expression "((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0))" (( "(") (binary_expression "(unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)" (parenthesized_expression "(unaff_s4 != uVar10)" (( "(") (binary_expression "unaff_s4 != uVar10" (identifier "unaff_s4") (!= "!=") (identifier "uVar10")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar9[0xb4] + 0x34) != 0)" (( "(") (binary_expression "*(int *)(puVar9[0xb4] + 0x34) != 0" (pointer_expression "*(int *)(puVar9[0xb4] + 0x34)" (* "*") (cast_expression "(int *)(puVar9[0xb4] + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9[0xb4] + 0x34)" (( "(") (binary_expression "puVar9[0xb4] + 0x34" (subscript_expression "puVar9[0xb4]" (identifier "puVar9") ([ "[") (number_literal "0xb4") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);\n              }" ({ "{") (expression_statement "piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);" (assignment_expression "piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0)" (subscript_expression "piVar51[*(int *)(puVar9[0xb4] + 0x38)]" (identifier "piVar51") ([ "[") (pointer_expression "*(int *)(puVar9[0xb4] + 0x38)" (* "*") (cast_expression "(int *)(puVar9[0xb4] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9[0xb4] + 0x38)" (( "(") (binary_expression "puVar9[0xb4] + 0x38" (subscript_expression "puVar9[0xb4]" (identifier "puVar9") ([ "[") (number_literal "0xb4") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (] "]")) (= "=") (call_expression "SUB84(in_f20_21,0)" (identifier "SUB84") (argument_list "(in_f20_21,0)" (( "(") (identifier "in_f20_21") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}"))) (expression_statement "puVar21 = (undefined4 *)((int)puVar21 + 1);" (assignment_expression "puVar21 = (undefined4 *)((int)puVar21 + 1)" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)((int)puVar21 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 1)" (( "(") (binary_expression "(int)puVar21 + 1" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar51 = piVar51 + puVar9[0xb0];" (assignment_expression "piVar51 = piVar51 + puVar9[0xb0]" (identifier "piVar51") (= "=") (binary_expression "piVar51 + puVar9[0xb0]" (identifier "piVar51") (+ "+") (subscript_expression "puVar9[0xb0]" (identifier "puVar9") ([ "[") (number_literal "0xb0") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)puVar21 < (int)puVar9[6])" (( "(") (binary_expression "(int)puVar21 < (int)puVar9[6]" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (< "<") (cast_expression "(int)puVar9[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar9[6]" (identifier "puVar9") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "puVar6 = puStack_230;" (assignment_expression "puVar6 = puStack_230" (identifier "puVar6") (= "=") (identifier "puStack_230")) (; ";")) (expression_statement "param_2 = puStack_22c;" (assignment_expression "param_2 = puStack_22c" (identifier "param_2") (= "=") (identifier "puStack_22c")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x73b8))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x73b8))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_240 + -0x73b8))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x73b8))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x73b8)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x73b8)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x73b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x73b8)" (( "(") (binary_expression "pcStack_240 + -0x73b8" (identifier "pcStack_240") (+ "+") (number_literal "-0x73b8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            puVar36[7] = 0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar36[7] = 0;\n          }" ({ "{") (expression_statement "puVar36[7] = 0;" (assignment_expression "puVar36[7] = 0" (subscript_expression "puVar36[7]" (identifier "puVar36") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" (identifier "pcVar37") (= "=") (identifier "pcStack_240")) (; ";")) (if_statement "if (puVar9[0xca] != 0) {\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" (if "if") (parenthesized_expression "(puVar9[0xca] != 0)" (( "(") (binary_expression "puVar9[0xca] != 0" (subscript_expression "puVar9[0xca]" (identifier "puVar9") ([ "[") (number_literal "0xca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar51 = (int *)puVar36[8];\n            (**(code **)(pcStack_240 + -0x75cc))();\n            uVar10 = piVar51[1];\n            uVar22 = uVar10 + 1;\n            pcVar37 = *(code **)(pcStack_240 + -0x7478);\n            piVar51[1] = uVar22;\n            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;\n            (*pcVar37)();\n            puStack_244 = (undefined *)puVar9[7];\n            param_4 = ((undefined4 *)puVar36[8])[1];\n            param_3 = *(float **)puVar36[8];\n            iStack_248 = 0;\n            puVar6 = puVar9;\n            param_2 = puStack_224;\n            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();\n            pcVar37 = pcStack_240;\n            if (iVar4 == 0) goto LAB_00123f74;\n          }" ({ "{") (expression_statement "piVar51 = (int *)puVar36[8];" (assignment_expression "piVar51 = (int *)puVar36[8]" (identifier "piVar51") (= "=") (cast_expression "(int *)puVar36[8]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[8]" (identifier "puVar36") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "(**(code **)(pcStack_240 + -0x75cc))();" (call_expression "(**(code **)(pcStack_240 + -0x75cc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x75cc))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x75cc)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x75cc)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x75cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x75cc)" (( "(") (binary_expression "pcStack_240 + -0x75cc" (identifier "pcStack_240") (+ "+") (number_literal "-0x75cc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = piVar51[1];" (assignment_expression "uVar10 = piVar51[1]" (identifier "uVar10") (= "=") (subscript_expression "piVar51[1]" (identifier "piVar51") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar22 = uVar10 + 1;" (assignment_expression "uVar22 = uVar10 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar37 = *(code **)(pcStack_240 + -0x7478);" (assignment_expression "pcVar37 = *(code **)(pcStack_240 + -0x7478)" (identifier "pcVar37") (= "=") (pointer_expression "*(code **)(pcStack_240 + -0x7478)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x7478)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7478)" (( "(") (binary_expression "pcStack_240 + -0x7478" (identifier "pcStack_240") (+ "+") (number_literal "-0x7478")) () ")"))))) (; ";")) (expression_statement "piVar51[1] = uVar22;" (assignment_expression "piVar51[1] = uVar22" (subscript_expression "piVar51[1]" (identifier "piVar51") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "*piVar51 = (uint)(uVar22 < uVar10) + *piVar51;" (assignment_expression "*piVar51 = (uint)(uVar22 < uVar10) + *piVar51" (pointer_expression "*piVar51" (* "*") (identifier "piVar51")) (= "=") (binary_expression "(uint)(uVar22 < uVar10) + *piVar51" (call_expression "(uint)(uVar22 < uVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar22 < uVar10)" (( "(") (binary_expression "uVar22 < uVar10" (identifier "uVar22") (< "<") (identifier "uVar10")) () ")"))) (+ "+") (pointer_expression "*piVar51" (* "*") (identifier "piVar51")))) (; ";")) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" (( "(") (pointer_expression "*pcVar37" (* "*") (identifier "pcVar37")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_244 = (undefined *)puVar9[7];" (assignment_expression "puStack_244 = (undefined *)puVar9[7]" (identifier "puStack_244") (= "=") (cast_expression "(undefined *)puVar9[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar9[7]" (identifier "puVar9") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "param_4 = ((undefined4 *)puVar36[8])[1];" (assignment_expression "param_4 = ((undefined4 *)puVar36[8])[1]" (identifier "param_4") (= "=") (subscript_expression "((undefined4 *)puVar36[8])[1]" (parenthesized_expression "((undefined4 *)puVar36[8])" (( "(") (cast_expression "(undefined4 *)puVar36[8]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar36[8]" (identifier "puVar36") ([ "[") (number_literal "8") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_3 = *(float **)puVar36[8];" (assignment_expression "param_3 = *(float **)puVar36[8]" (identifier "param_3") (= "=") (pointer_expression "*(float **)puVar36[8]" (* "*") (cast_expression "(float **)puVar36[8]" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "puVar36[8]" (identifier "puVar36") ([ "[") (number_literal "8") (] "]"))))) (; ";")) (expression_statement "iStack_248 = 0;" (assignment_expression "iStack_248 = 0" (identifier "iStack_248") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = puVar9;" (assignment_expression "puVar6 = puVar9" (identifier "puVar6") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "param_2 = puStack_224;" (assignment_expression "param_2 = puStack_224" (identifier "param_2") (= "=") (identifier "puStack_224")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();" (assignment_expression "iVar4 = (**(code **)(pcStack_240 + -0x7bfc))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_240 + -0x7bfc))()" (parenthesized_expression "(**(code **)(pcStack_240 + -0x7bfc))" (( "(") (pointer_expression "**(code **)(pcStack_240 + -0x7bfc)" (* "*") (pointer_expression "*(code **)(pcStack_240 + -0x7bfc)" (* "*") (cast_expression "(code **)(pcStack_240 + -0x7bfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_240 + -0x7bfc)" (( "(") (binary_expression "pcStack_240 + -0x7bfc" (identifier "pcStack_240") (+ "+") (number_literal "-0x7bfc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" (identifier "pcVar37") (= "=") (identifier "pcStack_240")) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00123f74;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123f74;" (goto "goto") (statement_identifier "LAB_00123f74") (; ";"))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "pfVar30 = (float *)((int)pfVar30 + 1);" (assignment_expression "pfVar30 = (float *)((int)pfVar30 + 1)" (identifier "pfVar30") (= "=") (cast_expression "(float *)((int)pfVar30 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar30 + 1)" (( "(") (binary_expression "(int)pfVar30 + 1" (cast_expression "(int)pfVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar30")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfStack_234 != pfVar30)" (( "(") (binary_expression "pfStack_234 != pfVar30" (identifier "pfStack_234") (!= "!=") (identifier "pfVar30")) () ")")) (; ";")) (} "}"))) (if_statement "if (iStack_1c4 == *piStack_228) {\n    return *piStack_228;\n  }" (if "if") (parenthesized_expression "(iStack_1c4 == *piStack_228)" (( "(") (binary_expression "iStack_1c4 == *piStack_228" (identifier "iStack_1c4") (== "==") (pointer_expression "*piStack_228" (* "*") (identifier "piStack_228"))) () ")")) (compound_statement "{\n    return *piStack_228;\n  }" ({ "{") (return_statement "return *piStack_228;" (return "return") (pointer_expression "*piStack_228" (* "*") (identifier "piStack_228")) (; ";")) (} "}"))) (expression_statement "pcVar38 = *(code **)(pcVar37 + -0x784c);" (assignment_expression "pcVar38 = *(code **)(pcVar37 + -0x784c)" (identifier "pcVar38") (= "=") (pointer_expression "*(code **)(pcVar37 + -0x784c)" (* "*") (cast_expression "(code **)(pcVar37 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar37 + -0x784c)" (( "(") (binary_expression "pcVar37 + -0x784c" (identifier "pcVar37") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar39 = FloodfillPaintImage;" (assignment_expression "pcVar39 = FloodfillPaintImage" (identifier "pcVar39") (= "=") (identifier "FloodfillPaintImage")) (; ";")) (expression_statement "(*pcVar38)();" (call_expression "(*pcVar38)()" (parenthesized_expression "(*pcVar38)" (( "(") (pointer_expression "*pcVar38" (* "*") (identifier "pcVar38")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar37 = pcStack_240;" (assignment_expression "pcVar37 = pcStack_240" (identifier "pcVar37") (= "=") (identifier "pcStack_240")) (; ";")) (expression_statement "piVar34 = *(int **)(pcVar38 + 0x285224);" (assignment_expression "piVar34 = *(int **)(pcVar38 + 0x285224)" (identifier "piVar34") (= "=") (pointer_expression "*(int **)(pcVar38 + 0x285224)" (* "*") (cast_expression "(int **)(pcVar38 + 0x285224)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285224)" (( "(") (binary_expression "pcVar38 + 0x285224" (identifier "pcVar38") (+ "+") (number_literal "0x285224")) () ")"))))) (; ";")) (expression_statement "iStack_2b4 = *piVar34;" (assignment_expression "iStack_2b4 = *piVar34" (identifier "iStack_2b4") (= "=") (pointer_expression "*piVar34" (* "*") (identifier "piVar34"))) (; ";")) (expression_statement "pfStack_2b0 = pfVar30;" (assignment_expression "pfStack_2b0 = pfVar30" (identifier "pfStack_2b0") (= "=") (identifier "pfVar30")) (; ";")) (expression_statement "piStack_2ac = piVar51;" (assignment_expression "piStack_2ac = piVar51" (identifier "piStack_2ac") (= "=") (identifier "piVar51")) (; ";")) (expression_statement "puStack_2a8 = puVar36;" (assignment_expression "puStack_2a8 = puVar36" (identifier "puStack_2a8") (= "=") (identifier "puVar36")) (; ";")) (expression_statement "puStack_2a4 = param_1;" (assignment_expression "puStack_2a4 = param_1" (identifier "puStack_2a4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uStack_2a0 = unaff_s4;" (assignment_expression "uStack_2a0 = unaff_s4" (identifier "uStack_2a0") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "puStack_29c = unaff_s5;" (assignment_expression "puStack_29c = unaff_s5" (identifier "puStack_29c") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "ppfStack_298 = unaff_s6;" (assignment_expression "ppfStack_298 = unaff_s6" (identifier "ppfStack_298") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStack_294 = puVar21;" (assignment_expression "puStack_294 = puVar21" (identifier "puStack_294") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "puStack_290 = puVar9;" (assignment_expression "puStack_290 = puVar9" (identifier "puStack_290") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "pcStack_28c = pcVar39;" (assignment_expression "pcStack_28c = pcVar39" (identifier "pcStack_28c") (= "=") (identifier "pcVar39")) (; ";")) (expression_statement "dStack_288 = in_f20_21;" (assignment_expression "dStack_288 = in_f20_21" (identifier "dStack_288") (= "=") (identifier "in_f20_21")) (; ";")) (expression_statement "dStack_280 = in_f22_23;" (assignment_expression "dStack_280 = in_f22_23" (identifier "dStack_280") (= "=") (identifier "in_f22_23")) (; ";")) (if_statement "if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;" (if "if") (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar6 == (undefined4 *)0x0" (identifier "puVar6") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001250a8;" (goto "goto") (statement_identifier "LAB_001250a8") (; ";"))) (if_statement "if (puVar6[0xcdb] == -0x54535255) {\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }\n  else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" (if "if") (parenthesized_expression "(puVar6[0xcdb] == -0x54535255)" (( "(") (binary_expression "puVar6[0xcdb] == -0x54535255" (subscript_expression "puVar6[0xcdb]" (identifier "puVar6") ([ "[") (number_literal "0xcdb") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }\n    if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }\n  }" ({ "{") (if_statement "if (puVar6[0xcd4] != 0) {\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" (if "if") (parenthesized_expression "(puVar6[0xcd4] != 0)" (( "(") (binary_expression "puVar6[0xcd4] != 0" (subscript_expression "puVar6[0xcd4]" (identifier "puVar6") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);" (call_expression "(**(code **)(pcVar38 + 0x2851d4))\n                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2851d4))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2851d4)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2851d4)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2851d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2851d4)" (( "(") (binary_expression "pcVar38 + 0x2851d4" (identifier "pcVar38") (+ "+") (number_literal "0x2851d4")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x29e0")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x2cb4")) (, ",") (number_literal "0xac") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + -0x62ac" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "puVar6 + 0xd0" (identifier "puVar6") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 != (undefined *)0x0) {\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" (if "if") (parenthesized_expression "(param_2 != (undefined *)0x0)" (( "(") (binary_expression "param_2 != (undefined *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }\n      goto LAB_00125064;\n    }" ({ "{") (if_statement "if (*(int *)(param_2 + 0x390) == -0x54535255) {\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x390) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_2 + 0x390) == -0x54535255" (pointer_expression "*(int *)(param_2 + 0x390)" (* "*") (cast_expression "(int *)(param_2 + 0x390)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x390)" (( "(") (binary_expression "param_2 + 0x390" (identifier "param_2") (+ "+") (number_literal "0x390")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n        if (param_4 < 0) goto LAB_001240e8;\n        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;\n        if (iStack_248 < 0) goto LAB_001240e8;\n        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;\n        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }\n        (*pcVar39)(puVar6,0x17,pcVar37);\nLAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }\n        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);\n        if (iVar4 == 0) goto LAB_001240e8;\n        iVar5 = *(int *)(pcVar38 + 0x2848d8);\n        pcVar39 = *(code **)(pcVar38 + 0x284e08);\n        *(undefined4 *)(iVar4 + 700) = 0;\n        *(undefined4 *)(iVar4 + 4) = 3;\n        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);\n        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);\n        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);\n        if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }\n        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);\n        iVar50 = puVar6[7];\n        pdVar33 = pdVar12;\n        if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }\n        pdVar14 = pdVar12 + 0x200000;\n        if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }\n        pcVar39 = *(code **)(pcVar38 + 0x2852a8);\n        pdVar32 = pdVar33;\n        if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }\n        (*pcVar39)(puVar6,&uStack_310);\n        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);\n        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);\n        if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }\nLAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }\n        iVar50 = 1;\nLAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);\n        (**(code **)(pcVar38 + 0x284ee8))(uVar27);\n        (**(code **)(pcVar38 + 0x28538c))(iVar5);\n        (**(code **)(pcVar38 + 0x284f40))(iVar4);\n        goto LAB_001240ec;\n      }" ({ "{") (if_statement "if (param_4 < 0) goto LAB_001240e8;" (if "if") (parenthesized_expression "(param_4 < 0)" (( "(") (binary_expression "param_4 < 0" (identifier "param_4") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_001240e8;" (goto "goto") (statement_identifier "LAB_001240e8") (; ";"))) (if_statement "if ((int)puVar6[6] <= param_4) goto LAB_001240e8;" (if "if") (parenthesized_expression "((int)puVar6[6] <= param_4)" (( "(") (binary_expression "(int)puVar6[6] <= param_4" (cast_expression "(int)puVar6[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (<= "<=") (identifier "param_4")) () ")")) (goto_statement "goto LAB_001240e8;" (goto "goto") (statement_identifier "LAB_001240e8") (; ";"))) (if_statement "if (iStack_248 < 0) goto LAB_001240e8;" (if "if") (parenthesized_expression "(iStack_248 < 0)" (( "(") (binary_expression "iStack_248 < 0" (identifier "iStack_248") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_001240e8;" (goto "goto") (statement_identifier "LAB_001240e8") (; ";"))) (if_statement "if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;" (if "if") (parenthesized_expression "((int)puVar6[7] <= iStack_248)" (( "(") (binary_expression "(int)puVar6[7] <= iStack_248" (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]"))) (<= "<=") (identifier "iStack_248")) () ")")) (goto_statement "goto LAB_001240e8;" (goto "goto") (statement_identifier "LAB_001240e8") (; ";"))) (expression_statement "iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);" (assignment_expression "iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285818))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285818)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285818)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285818)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285818)" (( "(") (binary_expression "pcVar38 + 0x285818" (identifier "pcVar38") (+ "+") (number_literal "0x285818")) () ")"))))) () ")")) (argument_list "(puVar6,1,pcVar37)" (( "(") (identifier "puVar6") (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_001240e8;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001240e8;" (goto "goto") (statement_identifier "LAB_001240e8") (; ";"))) (if_statement "if (puVar6[1] == 0x21) {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }\n        else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" (if "if") (parenthesized_expression "(puVar6[1] == 0x21)" (( "(") (binary_expression "puVar6[1] == 0x21" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n        }" ({ "{") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284d34);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284d34)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284d34)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284d34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284d34)" (( "(") (binary_expression "pcVar38 + 0x284d34" (identifier "pcVar38") (+ "+") (number_literal "0x284d34")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" (else "else") (compound_statement "{\n          pcVar39 = *(code **)(pcVar38 + 0x284d34);\n          if (puVar6[1] != 3) goto LAB_001241b0;\n        }" ({ "{") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284d34);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284d34)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284d34)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284d34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284d34)" (( "(") (binary_expression "pcVar38 + 0x284d34" (identifier "pcVar38") (+ "+") (number_literal "0x284d34")) () ")"))))) (; ";")) (if_statement "if (puVar6[1] != 3) goto LAB_001241b0;" (if "if") (parenthesized_expression "(puVar6[1] != 3)" (( "(") (binary_expression "puVar6[1] != 3" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_001241b0;" (goto "goto") (statement_identifier "LAB_001241b0") (; ";"))) (} "}")))) (expression_statement "(*pcVar39)(puVar6,0x17,pcVar37);" (call_expression "(*pcVar39)(puVar6,0x17,pcVar37)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(puVar6,0x17,pcVar37)" (( "(") (identifier "puVar6") (, ",") (number_literal "0x17") (, ",") (identifier "pcVar37") () ")"))) (; ";")) (labeled_statement "LAB_001241b0:\n        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" (statement_identifier "LAB_001241b0") (: ":") (if_statement "if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" (if "if") (parenthesized_expression "((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0))" (( "(") (binary_expression "(puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)" (parenthesized_expression "(puVar6[0xaf] == 0)" (( "(") (binary_expression "puVar6[0xaf] == 0" (subscript_expression "puVar6[0xaf]" (identifier "puVar6") ([ "[") (number_literal "0xaf") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_2 + 0x50) != 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x50) != 0" (pointer_expression "*(int *)(param_2 + 0x50)" (* "*") (cast_expression "(int *)(param_2 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x50)" (( "(") (binary_expression "param_2 + 0x50" (identifier "param_2") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);\n        }" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x284c6c))\n                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284c6c))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284c6c)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284c6c)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284c6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284c6c)" (( "(") (binary_expression "pcVar38 + 0x284c6c" (identifier "pcVar38") (+ "+") (number_literal "0x284c6c")) () ")"))))) () ")")) (argument_list "(puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37)" (( "(") (identifier "puVar6") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")")))) (, ",") (identifier "pcVar37") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);" (assignment_expression "iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285824))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285824)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285824)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285824)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285824)" (( "(") (binary_expression "pcVar38 + 0x285824" (identifier "pcVar38") (+ "+") (number_literal "0x285824")) () ")"))))) () ")")) (argument_list "(puVar6,0,0,1,pcVar37)" (( "(") (identifier "puVar6") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_001240e8;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001240e8;" (goto "goto") (statement_identifier "LAB_001240e8") (; ";"))) (expression_statement "iVar5 = *(int *)(pcVar38 + 0x2848d8);" (assignment_expression "iVar5 = *(int *)(pcVar38 + 0x2848d8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")"))))) (; ";")) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284e08);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284e08)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284e08)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284e08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284e08)" (( "(") (binary_expression "pcVar38 + 0x284e08" (identifier "pcVar38") (+ "+") (number_literal "0x284e08")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 700) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + 700) = 0" (pointer_expression "*(undefined4 *)(iVar4 + 700)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 700)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 700)" (( "(") (binary_expression "iVar4 + 700" (identifier "iVar4") (+ "+") (number_literal "700")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + 4) = 3;" (assignment_expression "*(undefined4 *)(iVar4 + 4) = 3" (pointer_expression "*(undefined4 *)(iVar4 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "(*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);" (call_expression "(*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37)" (( "(") (binary_expression "iVar5 + 0x2a38" (identifier "iVar5") (+ "+") (number_literal "0x2a38")) (, ",") (number_literal "0x7fffffff") (, ",") (binary_expression "iVar4 + 0x88" (identifier "iVar4") (+ "+") (number_literal "0x88")) (, ",") (identifier "pcVar37") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284e84))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284e84)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284e84)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284e84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284e84)" (( "(") (binary_expression "pcVar38 + 0x284e84" (identifier "pcVar38") (+ "+") (number_literal "0x284e84")) () ")"))))) () ")")) (argument_list "(iVar4,pcVar37)" (( "(") (identifier "iVar4") (, ",") (identifier "pcVar37") () ")"))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);" (assignment_expression "iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2852c0))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2852c0)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2852c0)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2852c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2852c0)" (( "(") (binary_expression "pcVar38 + 0x2852c0" (identifier "pcVar38") (+ "+") (number_literal "0x2852c0")) () ")"))))) () ")")) (argument_list "(0x80000,0x20)" (( "(") (number_literal "0x80000") (, ",") (number_literal "0x20") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          iVar50 = 0;\n          (**(code **)(pcVar38 + 0x284f40))(iVar4);\n          (**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);\n          goto LAB_001240ec;\n        }" ({ "{") (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 0xd0" (identifier "puVar6") (+ "+") (number_literal "0xd0"))) (; ";")) (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" (identifier "iVar50") (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(pcVar38 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar38 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f40))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284f40)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284f40)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f40)" (( "(") (binary_expression "pcVar38 + 0x284f40" (identifier "pcVar38") (+ "+") (number_literal "0x284f40")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6);" (call_expression "(**(code **)(pcVar38 + 0x284f14))\n                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f14))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284f14)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284f14)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f14)" (( "(") (binary_expression "pcVar38 + 0x284f14" (identifier "pcVar38") (+ "+") (number_literal "0x284f14")) () ")"))))) () ")")) (argument_list "(pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,\n                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,\n                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,\n                     puVar6)" (( "(") (identifier "pcVar37") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x29e0")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x2cb4")) (, ",") (number_literal "0xca") (, ",") (number_literal "400") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x16f8" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x16f8")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (identifier "puVar6") () ")"))) (; ";")) (goto_statement "goto LAB_001240ec;" (goto "goto") (statement_identifier "LAB_001240ec") (; ";")) (} "}"))) (expression_statement "pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);" (assignment_expression "pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5)" (identifier "pdVar12") (= "=") (cast_expression "(double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar38 + 0x284f1c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f1c))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284f1c)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284f1c)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f1c)" (( "(") (binary_expression "pcVar38 + 0x284f1c" (identifier "pcVar38") (+ "+") (number_literal "0x284f1c")) () ")"))))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))))) (; ";")) (expression_statement "iVar50 = puVar6[7];" (assignment_expression "iVar50 = puVar6[7]" (identifier "iVar50") (= "=") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "pdVar33 = pdVar12;" (assignment_expression "pdVar33 = pdVar12" (identifier "pdVar33") (= "=") (identifier "pdVar12")) (; ";")) (if_statement "if (iStack_248 + 1 < iVar50) {\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }" (if "if") (parenthesized_expression "(iStack_248 + 1 < iVar50)" (( "(") (binary_expression "iStack_248 + 1 < iVar50" (binary_expression "iStack_248 + 1" (identifier "iStack_248") (+ "+") (number_literal "1")) (< "<") (identifier "iVar50")) () ")")) (compound_statement "{\n          iVar13 = *(int *)(pcVar38 + 0x2848d4);\n          *pdVar12 = (double)param_4;\n          pdVar12[2] = (double)param_4;\n          dVar40 = *(double *)(iVar13 + 0x1438);\n          pdVar12[1] = (double)iStack_248;\n          pdVar12[3] = dVar40;\n          pdVar33 = pdVar12 + 4;\n        }" ({ "{") (expression_statement "iVar13 = *(int *)(pcVar38 + 0x2848d4);" (assignment_expression "iVar13 = *(int *)(pcVar38 + 0x2848d4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")"))))) (; ";")) (expression_statement "*pdVar12 = (double)param_4;" (assignment_expression "*pdVar12 = (double)param_4" (pointer_expression "*pdVar12" (* "*") (identifier "pdVar12")) (= "=") (cast_expression "(double)param_4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "pdVar12[2] = (double)param_4;" (assignment_expression "pdVar12[2] = (double)param_4" (subscript_expression "pdVar12[2]" (identifier "pdVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)param_4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "dVar40 = *(double *)(iVar13 + 0x1438);" (assignment_expression "dVar40 = *(double *)(iVar13 + 0x1438)" (identifier "dVar40") (= "=") (pointer_expression "*(double *)(iVar13 + 0x1438)" (* "*") (cast_expression "(double *)(iVar13 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x1438)" (( "(") (binary_expression "iVar13 + 0x1438" (identifier "iVar13") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "pdVar12[1] = (double)iStack_248;" (assignment_expression "pdVar12[1] = (double)iStack_248" (subscript_expression "pdVar12[1]" (identifier "pdVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)iStack_248" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iStack_248"))) (; ";")) (expression_statement "pdVar12[3] = dVar40;" (assignment_expression "pdVar12[3] = dVar40" (subscript_expression "pdVar12[3]" (identifier "pdVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "dVar40")) (; ";")) (expression_statement "pdVar33 = pdVar12 + 4;" (assignment_expression "pdVar33 = pdVar12 + 4" (identifier "pdVar33") (= "=") (binary_expression "pdVar12 + 4" (identifier "pdVar12") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "pdVar14 = pdVar12 + 0x200000;" (assignment_expression "pdVar14 = pdVar12 + 0x200000" (identifier "pdVar14") (= "=") (binary_expression "pdVar12 + 0x200000" (identifier "pdVar12") (+ "+") (number_literal "0x200000"))) (; ";")) (if_statement "if (pdVar14 <= pdVar33) {\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }" (if "if") (parenthesized_expression "(pdVar14 <= pdVar33)" (( "(") (binary_expression "pdVar14 <= pdVar33" (identifier "pdVar14") (<= "<=") (identifier "pdVar33")) () ")")) (compound_statement "{\n          puVar6 = puVar6 + 0xd0;\n          uVar27 = 0xd4;\n          goto LAB_00124ee4;\n        }" ({ "{") (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 0xd0" (identifier "puVar6") (+ "+") (number_literal "0xd0"))) (; ";")) (expression_statement "uVar27 = 0xd4;" (assignment_expression "uVar27 = 0xd4" (identifier "uVar27") (= "=") (number_literal "0xd4")) (; ";")) (goto_statement "goto LAB_00124ee4;" (goto "goto") (statement_identifier "LAB_00124ee4") (; ";")) (} "}"))) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2852a8);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2852a8)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x2852a8)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2852a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2852a8)" (( "(") (binary_expression "pcVar38 + 0x2852a8" (identifier "pcVar38") (+ "+") (number_literal "0x2852a8")) () ")"))))) (; ";")) (expression_statement "pdVar32 = pdVar33;" (assignment_expression "pdVar32 = pdVar33" (identifier "pdVar32") (= "=") (identifier "pdVar33")) (; ";")) (if_statement "if (iStack_248 < iVar50) {\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }" (if "if") (parenthesized_expression "(iStack_248 < iVar50)" (( "(") (binary_expression "iStack_248 < iVar50" (identifier "iStack_248") (< "<") (identifier "iVar50")) () ")")) (compound_statement "{\n          iVar50 = *(int *)(pcVar38 + 0x2848d4);\n          pdVar32 = pdVar33 + 4;\n          *pdVar33 = (double)param_4;\n          pdVar33[2] = (double)param_4;\n          dVar40 = *(double *)(iVar50 + 0x1a78);\n          pdVar33[1] = (double)(iStack_248 + 1);\n          pdVar33[3] = dVar40;\n        }" ({ "{") (expression_statement "iVar50 = *(int *)(pcVar38 + 0x2848d4);" (assignment_expression "iVar50 = *(int *)(pcVar38 + 0x2848d4)" (identifier "iVar50") (= "=") (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")"))))) (; ";")) (expression_statement "pdVar32 = pdVar33 + 4;" (assignment_expression "pdVar32 = pdVar33 + 4" (identifier "pdVar32") (= "=") (binary_expression "pdVar33 + 4" (identifier "pdVar33") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*pdVar33 = (double)param_4;" (assignment_expression "*pdVar33 = (double)param_4" (pointer_expression "*pdVar33" (* "*") (identifier "pdVar33")) (= "=") (cast_expression "(double)param_4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "pdVar33[2] = (double)param_4;" (assignment_expression "pdVar33[2] = (double)param_4" (subscript_expression "pdVar33[2]" (identifier "pdVar33") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)param_4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "dVar40 = *(double *)(iVar50 + 0x1a78);" (assignment_expression "dVar40 = *(double *)(iVar50 + 0x1a78)" (identifier "dVar40") (= "=") (pointer_expression "*(double *)(iVar50 + 0x1a78)" (* "*") (cast_expression "(double *)(iVar50 + 0x1a78)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar50 + 0x1a78)" (( "(") (binary_expression "iVar50 + 0x1a78" (identifier "iVar50") (+ "+") (number_literal "0x1a78")) () ")"))))) (; ";")) (expression_statement "pdVar33[1] = (double)(iStack_248 + 1);" (assignment_expression "pdVar33[1] = (double)(iStack_248 + 1)" (subscript_expression "pdVar33[1]" (identifier "pdVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)(iStack_248 + 1)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(iStack_248 + 1)" (( "(") (binary_expression "iStack_248 + 1" (identifier "iStack_248") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pdVar33[3] = dVar40;" (assignment_expression "pdVar33[3] = dVar40" (subscript_expression "pdVar33[3]" (identifier "pdVar33") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "dVar40")) (; ";")) (} "}"))) (expression_statement "(*pcVar39)(puVar6,&uStack_310);" (call_expression "(*pcVar39)(puVar6,&uStack_310)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(puVar6,&uStack_310)" (( "(") (identifier "puVar6") (, ",") (pointer_expression "&uStack_310" (& "&") (identifier "uStack_310")) () ")"))) (; ";")) (expression_statement "uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);" (assignment_expression "uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37)" (identifier "uVar27") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285748))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285748)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285748)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285748)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285748)" (( "(") (binary_expression "pcVar38 + 0x285748" (identifier "pcVar38") (+ "+") (number_literal "0x285748")) () ")"))))) () ")")) (argument_list "(puVar6,pcVar37)" (( "(") (identifier "puVar6") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (expression_statement "uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);" (assignment_expression "uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37)" (identifier "uVar15") (= "=") (call_expression "(**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ec8))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284ec8)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284ec8)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284ec8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284ec8)" (( "(") (binary_expression "pcVar38 + 0x284ec8" (identifier "pcVar38") (+ "+") (number_literal "0x284ec8")) () ")"))))) () ")")) (argument_list "(iVar4,pcVar37)" (( "(") (identifier "iVar4") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if (pdVar12 < pdVar32) {\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }" (if "if") (parenthesized_expression "(pdVar12 < pdVar32)" (( "(") (binary_expression "pdVar12 < pdVar32" (identifier "pdVar12") (< "<") (identifier "pdVar32")) () ")")) (compound_statement "{\n          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = dVar45;\n          dVar47 = dVar45;\n          do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);\n        }" ({ "{") (expression_statement "dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);" (assignment_expression "dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" (identifier "dVar45") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a58)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a58" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (identifier "uVar46") (= "=") (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")"))))) (; ";")) (expression_statement "uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (identifier "uVar48") (= "=") (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")"))))) (; ";")) (expression_statement "dVar40 = dVar45;" (assignment_expression "dVar40 = dVar45" (identifier "dVar40") (= "=") (identifier "dVar45")) (; ";")) (expression_statement "dVar47 = dVar45;" (assignment_expression "dVar47 = dVar45" (identifier "dVar47") (= "=") (identifier "dVar45")) (; ";")) (do_statement "do {\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          } while (pdVar12 < pdVar33);" (do "do") (compound_statement "{\n            pdVar33 = pdVar32 + -4;\n            uVar22 = (uint)pdVar32[-4];\n            iVar44 = (int)pdVar32[-1];\n            iVar43 = (int)pdVar32[-3];\n            iVar41 = (int)pdVar32[-2];\n            uVar10 = uVar22 + 1;\n            iVar50 = iVar43 + iVar44;\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);\n            puVar17 = puStack_244;\n            if ((iVar13 == 0) || (iVar16 == 0)) break;\n            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;\n            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;\n            uVar35 = uVar22;\n            if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }\nLAB_0012463c:\n            uVar10 = uVar35 + 1;\n            if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }\nLAB_0012464c:\n            pdVar32 = pdVar33;\n          }" ({ "{") (expression_statement "pdVar33 = pdVar32 + -4;" (assignment_expression "pdVar33 = pdVar32 + -4" (identifier "pdVar33") (= "=") (binary_expression "pdVar32 + -4" (identifier "pdVar32") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "uVar22 = (uint)pdVar32[-4];" (assignment_expression "uVar22 = (uint)pdVar32[-4]" (identifier "uVar22") (= "=") (cast_expression "(uint)pdVar32[-4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pdVar32[-4]" (identifier "pdVar32") ([ "[") (number_literal "-4") (] "]")))) (; ";")) (expression_statement "iVar44 = (int)pdVar32[-1];" (assignment_expression "iVar44 = (int)pdVar32[-1]" (identifier "iVar44") (= "=") (cast_expression "(int)pdVar32[-1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pdVar32[-1]" (identifier "pdVar32") ([ "[") (number_literal "-1") (] "]")))) (; ";")) (expression_statement "iVar43 = (int)pdVar32[-3];" (assignment_expression "iVar43 = (int)pdVar32[-3]" (identifier "iVar43") (= "=") (cast_expression "(int)pdVar32[-3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pdVar32[-3]" (identifier "pdVar32") ([ "[") (number_literal "-3") (] "]")))) (; ";")) (expression_statement "iVar41 = (int)pdVar32[-2];" (assignment_expression "iVar41 = (int)pdVar32[-2]" (identifier "iVar41") (= "=") (cast_expression "(int)pdVar32[-2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pdVar32[-2]" (identifier "pdVar32") ([ "[") (number_literal "-2") (] "]")))) (; ";")) (expression_statement "uVar10 = uVar22 + 1;" (assignment_expression "uVar10 = uVar22 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar22 + 1" (identifier "uVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar50 = iVar43 + iVar44;" (assignment_expression "iVar50 = iVar43 + iVar44" (identifier "iVar50") (= "=") (binary_expression "iVar43 + iVar44" (identifier "iVar43") (+ "+") (identifier "iVar44"))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285650)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285650)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285650)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285650)" (( "(") (binary_expression "pcVar38 + 0x285650" (identifier "pcVar38") (+ "+") (number_literal "0x285650")) () ")"))))) () ")")) (argument_list "(uVar27,0,iVar50,uVar10,1,pcVar37)" (( "(") (identifier "uVar27") (, ",") (number_literal "0") (, ",") (identifier "iVar50") (, ",") (identifier "uVar10") (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285640)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285640)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285640)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285640)" (( "(") (binary_expression "pcVar38 + 0x285640" (identifier "pcVar38") (+ "+") (number_literal "0x285640")) () ")"))))) () ")")) (argument_list "(uVar15,0,iVar50,uVar10,1,pcVar37)" (( "(") (identifier "uVar15") (, ",") (number_literal "0") (, ",") (identifier "iVar50") (, ",") (identifier "uVar10") (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (expression_statement "puVar17 = puStack_244;" (assignment_expression "puVar17 = puStack_244" (identifier "puVar17") (= "=") (identifier "puStack_244")) (; ";")) (if_statement "if ((iVar13 == 0) || (iVar16 == 0)) break;" (if "if") (parenthesized_expression "((iVar13 == 0) || (iVar16 == 0))" (( "(") (binary_expression "(iVar13 == 0) || (iVar16 == 0)" (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;" (assignment_expression "iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13" (identifier "iVar13") (= "=") (binary_expression "puVar6[0xb0] * 4 * uVar22 + iVar13" (binary_expression "puVar6[0xb0] * 4 * uVar22" (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" (identifier "puVar6") ([ "[") (number_literal "0xb0") (] "]")) (* "*") (number_literal "4")) (* "*") (identifier "uVar22")) (+ "+") (identifier "iVar13"))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;" (assignment_expression "iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16" (identifier "iVar16") (= "=") (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4 * uVar22" (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c0)" (( "(") (binary_expression "iVar4 + 0x2c0" (identifier "iVar4") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")) (* "*") (identifier "uVar22")) (+ "+") (identifier "iVar16"))) (; ";")) (expression_statement "uVar35 = uVar22;" (assignment_expression "uVar35 = uVar22" (identifier "uVar35") (= "=") (identifier "uVar22")) (; ";")) (if_statement "if ((int)uVar22 < 0) {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }\n            else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((int)uVar22 < 0)" (( "(") (binary_expression "(int)uVar22 < 0" (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n            }" ({ "{") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) (; ";")) (labeled_statement "LAB_00125018:\n              iVar13 = (*pcVar39)(uVar15,pcVar37);" (statement_identifier "LAB_00125018") (: ":") (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(uVar15,pcVar37)" (( "(") (identifier "uVar15") (, ",") (identifier "pcVar37") () ")")))) (; ";"))) (if_statement "if (iVar13 == 0) break;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (else_clause "else {\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;\n              do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);\n              iVar13 = (*pcVar39)(uVar15,pcVar37);\n              if (iVar13 == 0) break;\n              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;\n              if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }\n            }" ({ "{") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) (; ";")) (if_statement "if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)\n              goto LAB_00125018;" (if "if") (parenthesized_expression "(*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)" (( "(") (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (* "*") (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (( "(") (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d0)" (( "(") (binary_expression "iVar4 + 0x2d0" (identifier "iVar4") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (!= "!=") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_00125018;" (goto "goto") (statement_identifier "LAB_00125018") (; ";"))) (do_statement "do {\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              } while (*(float *)(iVar16 + iVar19) == 0.0);" (do "do") (compound_statement "{\n                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                uStack_310 = *puVar6;\n                uStack_30c = puVar6[1];\n                uStack_2f8 = puVar6[8];\n                uStack_308 = puVar6[0xaf];\n                dStack_2c8 = dVar47;\n                if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }\n                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }\n                uVar35 = uVar35 - 1;\n                iVar13 = iVar13 + puVar6[0xb0] * -4;\n                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                puVar36 = (undefined4 *)(iVar16 + iVar19);\n                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;\n                *puVar36 = (int)uVar48;\n                if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }\n                pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n              }" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284fe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284fe8)" (( "(") (binary_expression "pcVar38 + 0x284fe8" (identifier "pcVar38") (+ "+") (number_literal "0x284fe8")) () ")"))))) () ")")) (argument_list "(&uStack_310,0,0x58)" (( "(") (pointer_expression "&uStack_310" (& "&") (identifier "uStack_310")) (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" (identifier "uStack_300") (= "=") (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" (* "*") (cast_expression "(undefined8 *)(puVar6 + 0x92)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x92)" (( "(") (binary_expression "puVar6 + 0x92" (identifier "puVar6") (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" (identifier "uStack_310") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" (identifier "uStack_30c") (= "=") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" (identifier "uStack_2f8") (= "=") (subscript_expression "puVar6[8]" (identifier "puVar6") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" (identifier "uStack_308") (= "=") (subscript_expression "puVar6[0xaf]" (identifier "puVar6") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "dStack_2c8 = dVar47;" (assignment_expression "dStack_2c8 = dVar47" (identifier "dStack_2c8") (= "=") (identifier "dVar47")) (; ";")) (if_statement "if (iVar13 == 0) {\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }\n                else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                }" ({ "{") (labeled_statement "LAB_001245ec:\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);" (statement_identifier "LAB_001245ec") (: ":") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284f78)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f78)" (( "(") (binary_expression "pcVar38 + 0x284f78" (identifier "pcVar38") (+ "+") (number_literal "0x284f78")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar19 = puVar6[0xb4];\n                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                  if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }\n                  if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }\n                  pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }\n                }" ({ "{") (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" (identifier "iVar19") (= "=") (subscript_expression "puVar6[0xb4]" (identifier "puVar6") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (identifier "dStack_2e8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (identifier "dStack_2e0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" (* "*") (cast_expression "(int *)(iVar19 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (identifier "dStack_2d8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" (* "*") (cast_expression "(int *)(iVar19 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x20)" (( "(") (binary_expression "iVar19 + 0x20" (identifier "iVar19") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" (* "*") (cast_expression "(int *)(iVar19 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x28)" (( "(") (binary_expression "iVar19 + 0x28" (identifier "iVar19") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                  }" ({ "{") (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (identifier "dStack_2d0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" (* "*") (cast_expression "(int *)(iVar19 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uStack_308 = 4;\n                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                  }" ({ "{") (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" (identifier "uStack_308") (= "=") (number_literal "4")) (; ";")) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (identifier "dStack_2c8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" (* "*") (cast_expression "(int *)(iVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x38)" (( "(") (binary_expression "iVar19 + 0x38" (identifier "iVar19") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284f78)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f78)" (( "(") (binary_expression "pcVar38 + 0x284f78" (identifier "pcVar38") (+ "+") (number_literal "0x284f78")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" (* "*") (cast_expression "(int *)(iVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x40)" (( "(") (binary_expression "iVar19 + 0x40" (identifier "iVar19") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                    goto LAB_001245ec;\n                  }" ({ "{") (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (identifier "dStack_2c0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" (* "*") (cast_expression "(int *)(iVar19 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x44)" (( "(") (binary_expression "iVar19 + 0x44" (identifier "iVar19") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (goto_statement "goto LAB_001245ec;" (goto "goto") (statement_identifier "LAB_001245ec") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3)" (identifier "puVar7") (= "=") (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(&uStack_310,param_3)" (( "(") (pointer_expression "&uStack_310" (& "&") (identifier "uStack_310")) (, ",") (identifier "param_3") () ")"))))) (; ";")) (if_statement "if (puVar7 == puVar17) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }" (if "if") (parenthesized_expression "(puVar7 == puVar17)" (( "(") (binary_expression "puVar7 == puVar17" (identifier "puVar7") (== "==") (identifier "puVar17")) () ")")) (compound_statement "{\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  break;\n                }" ({ "{") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar35 = uVar35 - 1;" (assignment_expression "uVar35 = uVar35 - 1" (identifier "uVar35") (= "=") (binary_expression "uVar35 - 1" (identifier "uVar35") (- "-") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * -4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * -4" (identifier "iVar13") (= "=") (binary_expression "iVar13 + puVar6[0xb0] * -4" (identifier "iVar13") (+ "+") (binary_expression "puVar6[0xb0] * -4" (subscript_expression "puVar6[0xb0]" (identifier "puVar6") ([ "[") (number_literal "0xb0") (] "]")) (* "*") (number_literal "-4")))) (; ";")) (expression_statement "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (identifier "iVar19") (= "=") (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d0)" (( "(") (binary_expression "iVar4 + 0x2d0" (identifier "iVar4") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) (; ";")) (expression_statement "puVar36 = (undefined4 *)(iVar16 + iVar19);" (assignment_expression "puVar36 = (undefined4 *)(iVar16 + iVar19)" (identifier "puVar36") (= "=") (cast_expression "(undefined4 *)(iVar16 + iVar19)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar19)" (( "(") (binary_expression "iVar16 + iVar19" (identifier "iVar16") (+ "+") (identifier "iVar19")) () ")")))) (; ";")) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4" (identifier "iVar16") (= "=") (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * -4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c0) * -4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c0)" (( "(") (binary_expression "iVar4 + 0x2c0" (identifier "iVar4") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "-4")))) (; ";")) (expression_statement "*puVar36 = (int)uVar48;" (assignment_expression "*puVar36 = (int)uVar48" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (= "=") (cast_expression "(int)uVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar48"))) (; ";")) (if_statement "if (uVar35 == 0xffffffff) {\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" (if "if") (parenthesized_expression "(uVar35 == 0xffffffff)" (( "(") (binary_expression "uVar35 == 0xffffffff" (identifier "uVar35") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);\n                  if (iVar13 == 0) goto LAB_0012465c;\n                  uVar24 = uVar22 >> 0x1f;\n                  goto LAB_00124dbc;\n                }" ({ "{") (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2854ec))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2854ec)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) () ")")) (argument_list "(uVar15,pcVar37)" (( "(") (identifier "uVar15") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) goto LAB_0012465c;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0012465c;" (goto "goto") (statement_identifier "LAB_0012465c") (; ";"))) (expression_statement "uVar24 = uVar22 >> 0x1f;" (assignment_expression "uVar24 = uVar22 >> 0x1f" (identifier "uVar24") (= "=") (binary_expression "uVar22 >> 0x1f" (identifier "uVar22") (>> ">>") (number_literal "0x1f"))) (; ";")) (goto_statement "goto LAB_00124dbc;" (goto "goto") (statement_identifier "LAB_00124dbc") (; ";")) (} "}"))) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(float *)(iVar16 + iVar19) == 0.0)" (( "(") (binary_expression "*(float *)(iVar16 + iVar19) == 0.0" (pointer_expression "*(float *)(iVar16 + iVar19)" (* "*") (cast_expression "(float *)(iVar16 + iVar19)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar19)" (( "(") (binary_expression "iVar16 + iVar19" (identifier "iVar16") (+ "+") (identifier "iVar19")) () ")")))) (== "==") (number_literal "0.0")) () ")")) (; ";")) (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(uVar15,pcVar37)" (( "(") (identifier "uVar15") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) break;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar24 = (int)uVar35 < (int)uVar22 ^ 1;" (assignment_expression "uVar24 = (int)uVar35 < (int)uVar22 ^ 1" (identifier "uVar24") (= "=") (binary_expression "(int)uVar35 < (int)uVar22 ^ 1" (binary_expression "(int)uVar35 < (int)uVar22" (cast_expression "(int)uVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar35")) (< "<") (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22"))) (^ "^") (number_literal "1"))) (; ";")) (if_statement "if ((int)uVar35 < (int)uVar22 != 0) {\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" (if "if") (parenthesized_expression "((int)uVar35 < (int)uVar22 != 0)" (( "(") (binary_expression "(int)uVar35 < (int)uVar22 != 0" (binary_expression "(int)uVar35 < (int)uVar22" (cast_expression "(int)uVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar35")) (< "<") (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00124dbc:\n                uStack_390 = uVar35 + 1;\n                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;\n                if (pdVar14 <= pdVar33) goto LAB_001250d8;\n                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }\n                uVar35 = uVar10;\n                if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }\n              }" ({ "{") (labeled_statement "LAB_00124dbc:\n                uStack_390 = uVar35 + 1;" (statement_identifier "LAB_00124dbc") (: ":") (expression_statement "uStack_390 = uVar35 + 1;" (assignment_expression "uStack_390 = uVar35 + 1" (identifier "uStack_390") (= "=") (binary_expression "uVar35 + 1" (identifier "uVar35") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;" (if "if") (parenthesized_expression "((int)uVar22 <= (int)uStack_390)" (( "(") (binary_expression "(int)uVar22 <= (int)uStack_390" (cast_expression "(int)uVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar22")) (<= "<=") (cast_expression "(int)uStack_390" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_390"))) () ")")) (goto_statement "goto LAB_00124a40;" (goto "goto") (statement_identifier "LAB_00124a40") (; ";"))) (if_statement "if (pdVar14 <= pdVar33) goto LAB_001250d8;" (if "if") (parenthesized_expression "(pdVar14 <= pdVar33)" (( "(") (binary_expression "pdVar14 <= pdVar33" (identifier "pdVar14") (<= "<=") (identifier "pdVar33")) () ")")) (goto_statement "goto LAB_001250d8;" (goto "goto") (statement_identifier "LAB_001250d8") (; ";"))) (if_statement "if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }" (if "if") (parenthesized_expression "((-1 < iVar43) && (iVar43 < (int)puVar6[7]))" (( "(") (binary_expression "(-1 < iVar43) && (iVar43 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar43)" (( "(") (binary_expression "-1 < iVar43" (number_literal "-1") (< "<") (identifier "iVar43")) () ")")) (&& "&&") (parenthesized_expression "(iVar43 < (int)puVar6[7])" (( "(") (binary_expression "iVar43 < (int)puVar6[7]" (identifier "iVar43") (< "<") (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]")))) () ")"))) () ")")) (compound_statement "{\n                  pdVar32[-4] = (double)(int)uStack_390;\n                  pdVar32[-3] = (double)iVar50;\n                  pdVar32[-2] = (double)(int)(uVar22 - 1);\n                  pdVar32[-1] = (double)-iVar44;\n                  pdVar33 = pdVar32;\n                }" ({ "{") (expression_statement "pdVar32[-4] = (double)(int)uStack_390;" (assignment_expression "pdVar32[-4] = (double)(int)uStack_390" (subscript_expression "pdVar32[-4]" (identifier "pdVar32") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(double)(int)uStack_390" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)uStack_390" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_390")))) (; ";")) (expression_statement "pdVar32[-3] = (double)iVar50;" (assignment_expression "pdVar32[-3] = (double)iVar50" (subscript_expression "pdVar32[-3]" (identifier "pdVar32") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(double)iVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar50"))) (; ";")) (expression_statement "pdVar32[-2] = (double)(int)(uVar22 - 1);" (assignment_expression "pdVar32[-2] = (double)(int)(uVar22 - 1)" (subscript_expression "pdVar32[-2]" (identifier "pdVar32") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(double)(int)(uVar22 - 1)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)(uVar22 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar22 - 1)" (( "(") (binary_expression "uVar22 - 1" (identifier "uVar22") (- "-") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "pdVar32[-1] = (double)-iVar44;" (assignment_expression "pdVar32[-1] = (double)-iVar44" (subscript_expression "pdVar32[-1]" (identifier "pdVar32") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(double)-iVar44" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (unary_expression "-iVar44" (- "-") (identifier "iVar44")))) (; ";")) (expression_statement "pdVar33 = pdVar32;" (assignment_expression "pdVar33 = pdVar32" (identifier "pdVar33") (= "=") (identifier "pdVar32")) (; ";")) (} "}"))) (expression_statement "uVar35 = uVar10;" (assignment_expression "uVar35 = uVar10" (identifier "uVar35") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if (uVar24 == 0) {\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar13 = puVar6[6];\n                  goto LAB_00124a44;\n                }" ({ "{") (expression_statement "iVar13 = puVar6[6];" (assignment_expression "iVar13 = puVar6[6]" (identifier "iVar13") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (goto_statement "goto LAB_00124a44;" (goto "goto") (statement_identifier "LAB_00124a44") (; ";")) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_0012463c:\n            uVar10 = uVar35 + 1;" (statement_identifier "LAB_0012463c") (: ":") (expression_statement "uVar10 = uVar35 + 1;" (assignment_expression "uVar10 = uVar35 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar35 + 1" (identifier "uVar35") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if ((int)uVar10 <= iVar41) {\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((int)uVar10 <= iVar41)" (( "(") (binary_expression "(int)uVar10 <= iVar41" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (<= "<=") (identifier "iVar41")) () ")")) (compound_statement "{\n              iVar16 = (iVar41 - uVar10) + 1;\n              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);\n              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);\n              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }\n            }" ({ "{") (expression_statement "iVar16 = (iVar41 - uVar10) + 1;" (assignment_expression "iVar16 = (iVar41 - uVar10) + 1" (identifier "iVar16") (= "=") (binary_expression "(iVar41 - uVar10) + 1" (parenthesized_expression "(iVar41 - uVar10)" (( "(") (binary_expression "iVar41 - uVar10" (identifier "iVar41") (- "-") (identifier "uVar10")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285650)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285650)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285650)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285650)" (( "(") (binary_expression "pcVar38 + 0x285650" (identifier "pcVar38") (+ "+") (number_literal "0x285650")) () ")"))))) () ")")) (argument_list "(uVar27,uVar10,iVar50,iVar16,1,pcVar37)" (( "(") (identifier "uVar27") (, ",") (identifier "uVar10") (, ",") (identifier "iVar50") (, ",") (identifier "iVar16") (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285640)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285640)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285640)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285640)" (( "(") (binary_expression "pcVar38 + 0x285640" (identifier "pcVar38") (+ "+") (number_literal "0x285640")) () ")"))))) () ")")) (argument_list "(uVar15,uVar10,iVar50,iVar16,1,pcVar37)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar10") (, ",") (identifier "iVar50") (, ",") (identifier "iVar16") (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" (if "if") (parenthesized_expression "((iVar13 != 0) && (uVar49 = 0, iVar16 != 0))" (( "(") (binary_expression "(iVar13 != 0) && (uVar49 = 0, iVar16 != 0)" (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar49 = 0, iVar16 != 0)" (( "(") (comma_expression "uVar49 = 0, iVar16 != 0" (assignment_expression "uVar49 = 0" (identifier "uVar49") (= "=") (number_literal "0")) (, ",") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }\nLAB_00124a40:\n                iVar13 = puVar6[6];\nLAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;\n                iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);\n                iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);\n                puVar17 = puStack_244;\n                if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }\n              }" ({ "{") (while_statement "while (uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49) {\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }" (while "while") (parenthesized_expression "(uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49)" (( "(") (comma_expression "uStack_390 = uVar10,\n                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49" (assignment_expression "uStack_390 = uVar10" (identifier "uStack_390") (= "=") (identifier "uVar10")) (, ",") (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==\n                      (float)uVar49" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (* "*") (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (( "(") (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d0)" (( "(") (binary_expression "iVar4 + 0x2d0" (identifier "iVar4") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (== "==") (cast_expression "(float)uVar49" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar49")))) () ")")) (compound_statement "{\n                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                  uStack_310 = *puVar6;\n                  uStack_30c = puVar6[1];\n                  uStack_2f8 = puVar6[8];\n                  uStack_308 = puVar6[0xaf];\n                  dStack_2c8 = dVar45;\n                  if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }\n                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                  if (puStack_244 != puVar17) break;\n                  uVar10 = uVar10 + 1;\n                  iVar13 = iVar13 + puVar6[0xb0] * 4;\n                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                  if (iVar41 < (int)uVar10) goto LAB_0012464c;\n                }" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284fe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284fe8)" (( "(") (binary_expression "pcVar38 + 0x284fe8" (identifier "pcVar38") (+ "+") (number_literal "0x284fe8")) () ")"))))) () ")")) (argument_list "(&uStack_310,0,0x58)" (( "(") (pointer_expression "&uStack_310" (& "&") (identifier "uStack_310")) (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" (identifier "uStack_300") (= "=") (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" (* "*") (cast_expression "(undefined8 *)(puVar6 + 0x92)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x92)" (( "(") (binary_expression "puVar6 + 0x92" (identifier "puVar6") (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" (identifier "uStack_310") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" (identifier "uStack_30c") (= "=") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" (identifier "uStack_2f8") (= "=") (subscript_expression "puVar6[8]" (identifier "puVar6") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" (identifier "uStack_308") (= "=") (subscript_expression "puVar6[0xaf]" (identifier "puVar6") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "dStack_2c8 = dVar45;" (assignment_expression "dStack_2c8 = dVar45" (identifier "dStack_2c8") (= "=") (identifier "dVar45")) (; ";")) (if_statement "if (iVar13 == 0) {\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }\n                  else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                  }" ({ "{") (labeled_statement "LAB_001249ec:\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);" (statement_identifier "LAB_001249ec") (: ":") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284f78)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f78)" (( "(") (binary_expression "pcVar38 + 0x284f78" (identifier "pcVar38") (+ "+") (number_literal "0x284f78")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" (else "else") (compound_statement "{\n                    iVar19 = puVar6[0xb4];\n                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                    if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }\n                    if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }\n                    pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                    if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }\n                  }" ({ "{") (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" (identifier "iVar19") (= "=") (subscript_expression "puVar6[0xb4]" (identifier "puVar6") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (identifier "dStack_2e8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (identifier "dStack_2e0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" (* "*") (cast_expression "(int *)(iVar19 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (identifier "dStack_2d8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" (* "*") (cast_expression "(int *)(iVar19 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x20)" (( "(") (binary_expression "iVar19 + 0x20" (identifier "iVar19") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" (* "*") (cast_expression "(int *)(iVar19 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x28)" (( "(") (binary_expression "iVar19 + 0x28" (identifier "iVar19") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                    }" ({ "{") (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (identifier "dStack_2d0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" (* "*") (cast_expression "(int *)(iVar19 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      uStack_308 = 4;\n                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                    }" ({ "{") (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" (identifier "uStack_308") (= "=") (number_literal "4")) (; ";")) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (identifier "dStack_2c8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" (* "*") (cast_expression "(int *)(iVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x38)" (( "(") (binary_expression "iVar19 + 0x38" (identifier "iVar19") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284f78)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f78)" (( "(") (binary_expression "pcVar38 + 0x284f78" (identifier "pcVar38") (+ "+") (number_literal "0x284f78")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" (* "*") (cast_expression "(int *)(iVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x40)" (( "(") (binary_expression "iVar19 + 0x40" (identifier "iVar19") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                      goto LAB_001249ec;\n                    }" ({ "{") (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (identifier "dStack_2c0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" (* "*") (cast_expression "(int *)(iVar19 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x44)" (( "(") (binary_expression "iVar19 + 0x44" (identifier "iVar19") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (goto_statement "goto LAB_001249ec;" (goto "goto") (statement_identifier "LAB_001249ec") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3)" (identifier "puVar17") (= "=") (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(&uStack_310,param_3)" (( "(") (pointer_expression "&uStack_310" (& "&") (identifier "uStack_310")) (, ",") (identifier "param_3") () ")"))))) (; ";")) (if_statement "if (puStack_244 != puVar17) break;" (if "if") (parenthesized_expression "(puStack_244 != puVar17)" (( "(") (binary_expression "puStack_244 != puVar17" (identifier "puStack_244") (!= "!=") (identifier "puVar17")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * 4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * 4" (identifier "iVar13") (= "=") (binary_expression "iVar13 + puVar6[0xb0] * 4" (identifier "iVar13") (+ "+") (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" (identifier "puVar6") ([ "[") (number_literal "0xb0") (] "]")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4" (identifier "iVar16") (= "=") (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c0)" (( "(") (binary_expression "iVar4 + 0x2c0" (identifier "iVar4") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (if_statement "if (iVar41 < (int)uVar10) goto LAB_0012464c;" (if "if") (parenthesized_expression "(iVar41 < (int)uVar10)" (( "(") (binary_expression "iVar41 < (int)uVar10" (identifier "iVar41") (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (goto_statement "goto LAB_0012464c;" (goto "goto") (statement_identifier "LAB_0012464c") (; ";"))) (} "}"))) (labeled_statement "LAB_00124a40:\n                iVar13 = puVar6[6];" (statement_identifier "LAB_00124a40") (: ":") (expression_statement "iVar13 = puVar6[6];" (assignment_expression "iVar13 = puVar6[6]" (identifier "iVar13") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";"))) (labeled_statement "LAB_00124a44:\n                if (iVar13 <= (int)uVar10) goto LAB_00124a50;" (statement_identifier "LAB_00124a44") (: ":") (if_statement "if (iVar13 <= (int)uVar10) goto LAB_00124a50;" (if "if") (parenthesized_expression "(iVar13 <= (int)uVar10)" (( "(") (binary_expression "iVar13 <= (int)uVar10" (identifier "iVar13") (<= "<=") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (goto_statement "goto LAB_00124a50;" (goto "goto") (statement_identifier "LAB_00124a50") (; ";")))) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285650))\n                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285650)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285650)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285650)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285650)" (( "(") (binary_expression "pcVar38 + 0x285650" (identifier "pcVar38") (+ "+") (number_literal "0x285650")) () ")"))))) () ")")) (argument_list "(uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37)" (( "(") (identifier "uVar27") (, ",") (identifier "uVar10") (, ",") (identifier "iVar50") (, ",") (binary_expression "iVar13 - uVar10" (identifier "iVar13") (- "-") (identifier "uVar10")) (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285640))\n                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285640)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285640)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285640)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285640)" (( "(") (binary_expression "pcVar38 + 0x285640" (identifier "pcVar38") (+ "+") (number_literal "0x285640")) () ")"))))) () ")")) (argument_list "(uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar10") (, ",") (identifier "iVar50") (, ",") (binary_expression "puVar6[6] - uVar10" (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (- "-") (identifier "uVar10")) (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (expression_statement "puVar17 = puStack_244;" (assignment_expression "puVar17 = puStack_244" (identifier "puVar17") (= "=") (identifier "puStack_244")) (; ";")) (if_statement "if ((iVar13 != 0) && (iVar16 != 0)) {\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" (if "if") (parenthesized_expression "((iVar13 != 0) && (iVar16 != 0))" (( "(") (binary_expression "(iVar13 != 0) && (iVar16 != 0)" (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\n                  if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }\n                  goto LAB_00124d60;\n                }" ({ "{") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) (; ";")) (if_statement "if (((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" (if "if") (parenthesized_expression "(((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0))" (( "(") (binary_expression "((int)uVar10 < (int)puVar6[6]) &&\n                     (uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" (parenthesized_expression "((int)uVar10 < (int)puVar6[6])" (( "(") (binary_expression "(int)uVar10 < (int)puVar6[6]" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (< "<") (cast_expression "(int)puVar6[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")))) () ")")) (&& "&&") (parenthesized_expression "(uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)" (( "(") (comma_expression "uVar49 = 0,\n                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (assignment_expression "uVar49 = 0" (identifier "uVar49") (= "=") (number_literal "0")) (, ",") (binary_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0" (pointer_expression "*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (* "*") (cast_expression "(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4)" (( "(") (binary_expression "iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d0)" (( "(") (binary_expression "iVar4 + 0x2d0" (identifier "iVar4") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "0.0"))) () ")"))) () ")")) (compound_statement "{\n                    do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );\n                  }" ({ "{") (do_statement "do {\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    } while( true );" (do "do") (compound_statement "{\n                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);\n                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);\n                      uStack_310 = *puVar6;\n                      uStack_30c = puVar6[1];\n                      uStack_2f8 = puVar6[8];\n                      uStack_308 = puVar6[0xaf];\n                      dStack_2c8 = dVar40;\n                      if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }\n                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);\n                      if (puVar17 == puVar7) goto LAB_00124d50;\n                      uVar10 = uVar10 + 1;\n                      iVar25 = puVar6[6];\n                      iVar13 = iVar13 + puVar6[0xb0] * 4;\n                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;\n                      puVar36 = (undefined4 *)(iVar16 + iVar19);\n                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;\n                      *puVar36 = (int)uVar46;\n                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;\n                    }" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);" (call_expression "(**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284fe8))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284fe8)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284fe8)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284fe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284fe8)" (( "(") (binary_expression "pcVar38 + 0x284fe8" (identifier "pcVar38") (+ "+") (number_literal "0x284fe8")) () ")"))))) () ")")) (argument_list "(&uStack_310,0,0x58)" (( "(") (pointer_expression "&uStack_310" (& "&") (identifier "uStack_310")) (, ",") (number_literal "0") (, ",") (number_literal "0x58") () ")"))) (; ";")) (expression_statement "uStack_300 = *(undefined8 *)(puVar6 + 0x92);" (assignment_expression "uStack_300 = *(undefined8 *)(puVar6 + 0x92)" (identifier "uStack_300") (= "=") (pointer_expression "*(undefined8 *)(puVar6 + 0x92)" (* "*") (cast_expression "(undefined8 *)(puVar6 + 0x92)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x92)" (( "(") (binary_expression "puVar6 + 0x92" (identifier "puVar6") (+ "+") (number_literal "0x92")) () ")"))))) (; ";")) (expression_statement "uStack_310 = *puVar6;" (assignment_expression "uStack_310 = *puVar6" (identifier "uStack_310") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "uStack_30c = puVar6[1];" (assignment_expression "uStack_30c = puVar6[1]" (identifier "uStack_30c") (= "=") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uStack_2f8 = puVar6[8];" (assignment_expression "uStack_2f8 = puVar6[8]" (identifier "uStack_2f8") (= "=") (subscript_expression "puVar6[8]" (identifier "puVar6") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "uStack_308 = puVar6[0xaf];" (assignment_expression "uStack_308 = puVar6[0xaf]" (identifier "uStack_308") (= "=") (subscript_expression "puVar6[0xaf]" (identifier "puVar6") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "dStack_2c8 = dVar40;" (assignment_expression "dStack_2c8 = dVar40" (identifier "dStack_2c8") (= "=") (identifier "dVar40")) (; ";")) (if_statement "if (iVar13 == 0) {\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }\n                      else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                      }" ({ "{") (labeled_statement "LAB_00124d38:\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);" (statement_identifier "LAB_00124d38") (: ":") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284f78)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f78)" (( "(") (binary_expression "pcVar38 + 0x284f78" (identifier "pcVar38") (+ "+") (number_literal "0x284f78")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" (else "else") (compound_statement "{\n                        iVar19 = puVar6[0xb4];\n                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);\n                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);\n                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);\n                        if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }\n                        if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }\n                        pcVar39 = *(code **)(pcVar38 + 0x284f78);\n                        if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }\n                      }" ({ "{") (expression_statement "iVar19 = puVar6[0xb4];" (assignment_expression "iVar19 = puVar6[0xb4]" (identifier "iVar19") (= "=") (subscript_expression "puVar6[0xb4]" (identifier "puVar6") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);" (assignment_expression "dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (identifier "dStack_2e8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 8) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 8) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);" (assignment_expression "dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (identifier "dStack_2e0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x14) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x14) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x14) * 4" (pointer_expression "*(int *)(iVar19 + 0x14)" (* "*") (cast_expression "(int *)(iVar19 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);" (assignment_expression "dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (identifier "dStack_2d8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x20) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x20) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x20) * 4" (pointer_expression "*(int *)(iVar19 + 0x20)" (* "*") (cast_expression "(int *)(iVar19 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x20)" (( "(") (binary_expression "iVar19 + 0x20" (identifier "iVar19") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x28) != 0) {\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x28) != 0" (pointer_expression "*(int *)(iVar19 + 0x28)" (* "*") (cast_expression "(int *)(iVar19 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x28)" (( "(") (binary_expression "iVar19 + 0x28" (identifier "iVar19") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);\n                        }" ({ "{") (expression_statement "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);" (assignment_expression "dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (identifier "dStack_2d0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x2c) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" (* "*") (cast_expression "(int *)(iVar19 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          uStack_308 = 4;\n                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);\n                        }" ({ "{") (expression_statement "uStack_308 = 4;" (assignment_expression "uStack_308 = 4" (identifier "uStack_308") (= "=") (number_literal "4")) (; ";")) (expression_statement "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);" (assignment_expression "dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (identifier "dStack_2c8") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x38) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" (* "*") (cast_expression "(int *)(iVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x38)" (( "(") (binary_expression "iVar19 + 0x38" (identifier "iVar19") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x284f78);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x284f78)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x284f78)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f78)" (( "(") (binary_expression "pcVar38 + 0x284f78" (identifier "pcVar38") (+ "+") (number_literal "0x284f78")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x40) != 0) {\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x40) != 0" (pointer_expression "*(int *)(iVar19 + 0x40)" (* "*") (cast_expression "(int *)(iVar19 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x40)" (( "(") (binary_expression "iVar19 + 0x40" (identifier "iVar19") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);\n                          goto LAB_00124d38;\n                        }" ({ "{") (expression_statement "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);" (assignment_expression "dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (identifier "dStack_2c0") (= "=") (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar19 + 0x44) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar19 + 0x44) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar19 + 0x44) * 4" (pointer_expression "*(int *)(iVar19 + 0x44)" (* "*") (cast_expression "(int *)(iVar19 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x44)" (( "(") (binary_expression "iVar19 + 0x44" (identifier "iVar19") (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (goto_statement "goto LAB_00124d38;" (goto "goto") (statement_identifier "LAB_00124d38") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);" (assignment_expression "puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3)" (identifier "puVar7") (= "=") (cast_expression "(undefined *)(*pcVar39)(&uStack_310,param_3)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar39)(&uStack_310,param_3)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(&uStack_310,param_3)" (( "(") (pointer_expression "&uStack_310" (& "&") (identifier "uStack_310")) (, ",") (identifier "param_3") () ")"))))) (; ";")) (if_statement "if (puVar17 == puVar7) goto LAB_00124d50;" (if "if") (parenthesized_expression "(puVar17 == puVar7)" (( "(") (binary_expression "puVar17 == puVar7" (identifier "puVar17") (== "==") (identifier "puVar7")) () ")")) (goto_statement "goto LAB_00124d50;" (goto "goto") (statement_identifier "LAB_00124d50") (; ";"))) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar25 = puVar6[6];" (assignment_expression "iVar25 = puVar6[6]" (identifier "iVar25") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "iVar13 = iVar13 + puVar6[0xb0] * 4;" (assignment_expression "iVar13 = iVar13 + puVar6[0xb0] * 4" (identifier "iVar13") (= "=") (binary_expression "iVar13 + puVar6[0xb0] * 4" (identifier "iVar13") (+ "+") (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" (identifier "puVar6") ([ "[") (number_literal "0xb0") (] "]")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (identifier "iVar19") (= "=") (binary_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4" (pointer_expression "*(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (* "*") (cast_expression "(int *)(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x2d0) + 8)" (( "(") (binary_expression "*(int *)(iVar4 + 0x2d0) + 8" (pointer_expression "*(int *)(iVar4 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d0)" (( "(") (binary_expression "iVar4 + 0x2d0" (identifier "iVar4") (+ "+") (number_literal "0x2d0")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) (; ";")) (expression_statement "puVar36 = (undefined4 *)(iVar16 + iVar19);" (assignment_expression "puVar36 = (undefined4 *)(iVar16 + iVar19)" (identifier "puVar36") (= "=") (cast_expression "(undefined4 *)(iVar16 + iVar19)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar19)" (( "(") (binary_expression "iVar16 + iVar19" (identifier "iVar16") (+ "+") (identifier "iVar19")) () ")")))) (; ";")) (expression_statement "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4" (identifier "iVar16") (= "=") (binary_expression "iVar16 + *(int *)(iVar4 + 0x2c0) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c0)" (( "(") (binary_expression "iVar4 + 0x2c0" (identifier "iVar4") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "*puVar36 = (int)uVar46;" (assignment_expression "*puVar36 = (int)uVar46" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (= "=") (cast_expression "(int)uVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar46"))) (; ";")) (if_statement "if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))\n                      goto LAB_00124d50;" (if "if") (parenthesized_expression "((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))" (( "(") (binary_expression "(iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49)" (parenthesized_expression "(iVar25 <= (int)uVar10)" (( "(") (binary_expression "iVar25 <= (int)uVar10" (identifier "iVar25") (<= "<=") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (|| "||") (parenthesized_expression "(*(float *)(iVar16 + iVar19) != (float)uVar49)" (( "(") (binary_expression "*(float *)(iVar16 + iVar19) != (float)uVar49" (pointer_expression "*(float *)(iVar16 + iVar19)" (* "*") (cast_expression "(float *)(iVar16 + iVar19)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar19)" (( "(") (binary_expression "iVar16 + iVar19" (identifier "iVar16") (+ "+") (identifier "iVar19")) () ")")))) (!= "!=") (cast_expression "(float)uVar49" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar49"))) () ")"))) () ")")) (goto_statement "goto LAB_00124d50;" (goto "goto") (statement_identifier "LAB_00124d50") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00124d60;" (goto "goto") (statement_identifier "LAB_00124d60") (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0012464c:\n            pdVar32 = pdVar33;" (statement_identifier "LAB_0012464c") (: ":") (expression_statement "pdVar32 = pdVar33;" (assignment_expression "pdVar32 = pdVar33" (identifier "pdVar32") (= "=") (identifier "pdVar33")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(pdVar12 < pdVar33)" (( "(") (binary_expression "pdVar12 < pdVar33" (identifier "pdVar12") (< "<") (identifier "pdVar33")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0012465c:\n        if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" (statement_identifier "LAB_0012465c") (: ":") (if_statement "if (0 < (int)puVar6[7]) {\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" (if "if") (parenthesized_expression "(0 < (int)puVar6[7])" (( "(") (binary_expression "0 < (int)puVar6[7]" (number_literal "0") (< "<") (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n          iVar50 = 0;\n          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);\n          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);\n          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);\n          do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);\n        }" ({ "{") (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" (identifier "iVar50") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);" (assignment_expression "uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (identifier "uVar46") (= "=") (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1a50)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1a50" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")"))))) (; ";")) (expression_statement "dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);" (assignment_expression "dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" (identifier "dVar40") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x13f8)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x13f8" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x13f8")) () ")"))))) (; ";")) (expression_statement "dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);" (assignment_expression "dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" (identifier "dVar47") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" (* "*") (cast_expression "(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar38 + 0x2848d4) + 0x1440)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1440" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1440")) () ")"))))) (; ";")) (do_statement "do {\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          } while (iVar50 < (int)puVar6[7]);" (do "do") (compound_statement "{\n            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);\n            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);\n            if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }\n            iVar41 = puVar6[6];\n            iVar43 = 0;\n            if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }\n            iVar50 = iVar50 + 1;\n            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);\n            if (iVar13 == 0) goto LAB_00124f5c;\n          }" ({ "{") (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285650))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285650)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285650)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285650)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285650)" (( "(") (binary_expression "pcVar38 + 0x285650" (identifier "pcVar38") (+ "+") (number_literal "0x285650")) () ")"))))) () ")")) (argument_list "(uVar15,0,iVar50,puVar6[6],1,pcVar37)" (( "(") (identifier "uVar15") (, ",") (number_literal "0") (, ",") (identifier "iVar50") (, ",") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (expression_statement "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);" (assignment_expression "iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285640))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285640)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285640)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285640)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285640)" (( "(") (binary_expression "pcVar38 + 0x285640" (identifier "pcVar38") (+ "+") (number_literal "0x285640")) () ")"))))) () ")")) (argument_list "(uVar27,0,iVar50,puVar6[6],1,pcVar37)" (( "(") (identifier "uVar27") (, ",") (number_literal "0") (, ",") (identifier "iVar50") (, ",") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if ((iVar13 == 0) || (iVar16 == 0)) {\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }" (if "if") (parenthesized_expression "((iVar13 == 0) || (iVar16 == 0))" (( "(") (binary_expression "(iVar13 == 0) || (iVar16 == 0)" (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_00124f5c:\n              iVar50 = 0;\n              goto LAB_00124f60;\n            }" ({ "{") (labeled_statement "LAB_00124f5c:\n              iVar50 = 0;" (statement_identifier "LAB_00124f5c") (: ":") (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" (identifier "iVar50") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_00124f60;" (goto "goto") (statement_identifier "LAB_00124f60") (; ";")) (} "}"))) (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" (identifier "iVar41") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "iVar43 = 0;" (assignment_expression "iVar43 = 0" (identifier "iVar43") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar41) {\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" (if "if") (parenthesized_expression "(0 < iVar41)" (( "(") (binary_expression "0 < iVar41" (number_literal "0") (< "<") (identifier "iVar41")) () ")")) (compound_statement "{\n              iVar44 = *(int *)(iVar4 + 0x2d0);\n              while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }\n            }" ({ "{") (expression_statement "iVar44 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar44 = *(int *)(iVar4 + 0x2d0)" (identifier "iVar44") (= "=") (pointer_expression "*(int *)(iVar4 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d0)" (( "(") (binary_expression "iVar4 + 0x2d0" (identifier "iVar4") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (while_statement "while( true ) {\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }\n                iVar43 = iVar43 + 1;\n                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;\n                iVar16 = iVar16 + puVar6[0xb0] * 4;\n                if (iVar41 <= iVar43) break;\n                iVar44 = *(int *)(iVar4 + 0x2d0);\n              }" ({ "{") (if_statement "if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }" (if "if") (parenthesized_expression "(*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0)" (( "(") (binary_expression "*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0" (pointer_expression "*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar13 + *(int *)(iVar44 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + *(int *)(iVar44 + 8) * 4)" (( "(") (binary_expression "iVar13 + *(int *)(iVar44 + 8) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar44 + 8) * 4" (pointer_expression "*(int *)(iVar44 + 8)" (* "*") (cast_expression "(int *)(iVar44 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 8)" (( "(") (binary_expression "iVar44 + 8" (identifier "iVar44") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n                  iVar44 = *(int *)(param_2 + 0x1a8);\n                  if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }\n                  iVar44 = puVar6[0xb4];\n                  iVar25 = *(int *)(iVar44 + 0x14);\n                  iVar19 = *(int *)(iVar44 + 0x20);\n                  iVar26 = *(int *)(iVar44 + 0x28);\n                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;\n                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;\n                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;\n                  if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }\n                  if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }\n                }" ({ "{") (expression_statement "iVar44 = *(int *)(param_2 + 0x1a8);" (assignment_expression "iVar44 = *(int *)(param_2 + 0x1a8)" (identifier "iVar44") (= "=") (pointer_expression "*(int *)(param_2 + 0x1a8)" (* "*") (cast_expression "(int *)(param_2 + 0x1a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1a8)" (( "(") (binary_expression "param_2 + 0x1a8" (identifier "param_2") (+ "+") (number_literal "0x1a8")) () ")"))))) (; ";")) (if_statement "if (iVar44 == 0) {\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }\n                  else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" (if "if") (parenthesized_expression "(iVar44 == 0)" (( "(") (binary_expression "iVar44 == 0" (identifier "iVar44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    piVar51 = (int *)(param_2 + 0x48);\n                    piVar2 = aiStack_368;\n                    do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));\n                    iVar44 = *piVar51;\n                    piVar20[5] = piVar18[5];\n                    piVar20[4] = iVar44;\n                  }" ({ "{") (expression_statement "piVar51 = (int *)(param_2 + 0x48);" (assignment_expression "piVar51 = (int *)(param_2 + 0x48)" (identifier "piVar51") (= "=") (cast_expression "(int *)(param_2 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x48)" (( "(") (binary_expression "param_2 + 0x48" (identifier "param_2") (+ "+") (number_literal "0x48")) () ")")))) (; ";")) (expression_statement "piVar2 = aiStack_368;" (assignment_expression "piVar2 = aiStack_368" (identifier "piVar2") (= "=") (identifier "aiStack_368")) (; ";")) (do_statement "do {\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    } while (piVar51 != (int *)(param_2 + 0x98));" (do "do") (compound_statement "{\n                      piVar20 = piVar2;\n                      piVar18 = piVar51;\n                      piVar51 = piVar18 + 4;\n                      iVar25 = piVar18[2];\n                      iVar44 = piVar18[3];\n                      iVar19 = *piVar18;\n                      piVar20[1] = piVar18[1];\n                      piVar20[2] = iVar25;\n                      *piVar20 = iVar19;\n                      piVar20[3] = iVar44;\n                      piVar2 = piVar20 + 4;\n                    }" ({ "{") (expression_statement "piVar20 = piVar2;" (assignment_expression "piVar20 = piVar2" (identifier "piVar20") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "piVar18 = piVar51;" (assignment_expression "piVar18 = piVar51" (identifier "piVar18") (= "=") (identifier "piVar51")) (; ";")) (expression_statement "piVar51 = piVar18 + 4;" (assignment_expression "piVar51 = piVar18 + 4" (identifier "piVar51") (= "=") (binary_expression "piVar18 + 4" (identifier "piVar18") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar25 = piVar18[2];" (assignment_expression "iVar25 = piVar18[2]" (identifier "iVar25") (= "=") (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar44 = piVar18[3];" (assignment_expression "iVar44 = piVar18[3]" (identifier "iVar44") (= "=") (subscript_expression "piVar18[3]" (identifier "piVar18") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar19 = *piVar18;" (assignment_expression "iVar19 = *piVar18" (identifier "iVar19") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "piVar20[1] = piVar18[1];" (assignment_expression "piVar20[1] = piVar18[1]" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar20[2] = iVar25;" (assignment_expression "piVar20[2] = iVar25" (subscript_expression "piVar20[2]" (identifier "piVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar25")) (; ";")) (expression_statement "*piVar20 = iVar19;" (assignment_expression "*piVar20 = iVar19" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar20[3] = iVar44;" (assignment_expression "piVar20[3] = iVar44" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar44")) (; ";")) (expression_statement "piVar2 = piVar20 + 4;" (assignment_expression "piVar2 = piVar20 + 4" (identifier "piVar2") (= "=") (binary_expression "piVar20 + 4" (identifier "piVar20") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar51 != (int *)(param_2 + 0x98))" (( "(") (binary_expression "piVar51 != (int *)(param_2 + 0x98)" (identifier "piVar51") (!= "!=") (cast_expression "(int *)(param_2 + 0x98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x98)" (( "(") (binary_expression "param_2 + 0x98" (identifier "param_2") (+ "+") (number_literal "0x98")) () ")")))) () ")")) (; ";")) (expression_statement "iVar44 = *piVar51;" (assignment_expression "iVar44 = *piVar51" (identifier "iVar44") (= "=") (pointer_expression "*piVar51" (* "*") (identifier "piVar51"))) (; ";")) (expression_statement "piVar20[5] = piVar18[5];" (assignment_expression "piVar20[5] = piVar18[5]" (subscript_expression "piVar20[5]" (identifier "piVar20") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "piVar18[5]" (identifier "piVar18") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar20[4] = iVar44;" (assignment_expression "piVar20[4] = iVar44" (subscript_expression "piVar20[4]" (identifier "piVar20") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar44")) (; ";")) (} "}")) (else_clause "else {\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" (else "else") (compound_statement "{\n                    (**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);\n                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }\n                  }" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);" (call_expression "(**(code **)(pcVar38 + 0x285410))\n                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x285410))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285410)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285410)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285410)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285410)" (( "(") (binary_expression "pcVar38 + 0x285410" (identifier "pcVar38") (+ "+") (number_literal "0x285410")) () ")"))))) () ")")) (argument_list "(iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),\n                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37)" (( "(") (identifier "iVar44") (, ",") (number_literal "6") (, ",") (binary_expression "iVar43 + *(int *)(iVar44 + 0x298)" (identifier "iVar43") (+ "+") (pointer_expression "*(int *)(iVar44 + 0x298)" (* "*") (cast_expression "(int *)(iVar44 + 0x298)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x298)" (( "(") (binary_expression "iVar44 + 0x298" (identifier "iVar44") (+ "+") (number_literal "0x298")) () ")"))))) (, ",") (binary_expression "iVar50 + *(int *)(iVar44 + 0x29c)" (identifier "iVar50") (+ "+") (pointer_expression "*(int *)(iVar44 + 0x29c)" (* "*") (cast_expression "(int *)(iVar44 + 0x29c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x29c)" (( "(") (binary_expression "iVar44 + 0x29c" (identifier "iVar44") (+ "+") (number_literal "0x29c")) () ")"))))) (, ",") (identifier "aiStack_368") (, ",") (identifier "pcVar37") () ")"))) (; ";")) (if_statement "if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }\n                    else {\n                      iVar41 = puVar6[6];\n                    }" (if "if") (parenthesized_expression "(dVar40 <= ABS(*(double *)(param_2 + 0x398)))" (( "(") (binary_expression "dVar40 <= ABS(*(double *)(param_2 + 0x398))" (identifier "dVar40") (<= "<=") (call_expression "ABS(*(double *)(param_2 + 0x398))" (identifier "ABS") (argument_list "(*(double *)(param_2 + 0x398))" (( "(") (pointer_expression "*(double *)(param_2 + 0x398)" (* "*") (cast_expression "(double *)(param_2 + 0x398)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x398)" (( "(") (binary_expression "param_2 + 0x398" (identifier "param_2") (+ "+") (number_literal "0x398")) () ")")))) () ")")))) () ")")) (compound_statement "{\n                      iVar41 = puVar6[6];\n                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;\n                    }" ({ "{") (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" (identifier "iVar41") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;" (assignment_expression "dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47" (identifier "dStack_320") (= "=") (binary_expression "dStack_320 * *(double *)(param_2 + 0x398) * dVar47" (binary_expression "dStack_320 * *(double *)(param_2 + 0x398)" (identifier "dStack_320") (* "*") (pointer_expression "*(double *)(param_2 + 0x398)" (* "*") (cast_expression "(double *)(param_2 + 0x398)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x398)" (( "(") (binary_expression "param_2 + 0x398" (identifier "param_2") (+ "+") (number_literal "0x398")) () ")"))))) (* "*") (identifier "dVar47"))) (; ";")) (} "}")) (else_clause "else {\n                      iVar41 = puVar6[6];\n                    }" (else "else") (compound_statement "{\n                      iVar41 = puVar6[6];\n                    }" ({ "{") (expression_statement "iVar41 = puVar6[6];" (assignment_expression "iVar41 = puVar6[6]" (identifier "iVar41") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar44 = puVar6[0xb4];" (assignment_expression "iVar44 = puVar6[0xb4]" (identifier "iVar44") (= "=") (subscript_expression "puVar6[0xb4]" (identifier "puVar6") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "iVar25 = *(int *)(iVar44 + 0x14);" (assignment_expression "iVar25 = *(int *)(iVar44 + 0x14)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(iVar44 + 0x14)" (* "*") (cast_expression "(int *)(iVar44 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x14)" (( "(") (binary_expression "iVar44 + 0x14" (identifier "iVar44") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(iVar44 + 0x20);" (assignment_expression "iVar19 = *(int *)(iVar44 + 0x20)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar44 + 0x20)" (* "*") (cast_expression "(int *)(iVar44 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x20)" (( "(") (binary_expression "iVar44 + 0x20" (identifier "iVar44") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar26 = *(int *)(iVar44 + 0x28);" (assignment_expression "iVar26 = *(int *)(iVar44 + 0x28)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)(iVar44 + 0x28)" (* "*") (cast_expression "(int *)(iVar44 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x28)" (( "(") (binary_expression "iVar44 + 0x28" (identifier "iVar44") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 8) * 4)" (( "(") (binary_expression "iVar16 + *(int *)(iVar44 + 8) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(iVar44 + 8) * 4" (pointer_expression "*(int *)(iVar44 + 8)" (* "*") (cast_expression "(int *)(iVar44 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 8)" (( "(") (binary_expression "iVar44 + 8" (identifier "iVar44") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dStack_340" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dStack_340"))) (; ";")) (expression_statement "*(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;" (assignment_expression "*(float *)(iVar16 + iVar25 * 4) = (float)dStack_338" (pointer_expression "*(float *)(iVar16 + iVar25 * 4)" (* "*") (cast_expression "(float *)(iVar16 + iVar25 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar25 * 4)" (( "(") (binary_expression "iVar16 + iVar25 * 4" (identifier "iVar16") (+ "+") (binary_expression "iVar25 * 4" (identifier "iVar25") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dStack_338" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dStack_338"))) (; ";")) (expression_statement "*(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;" (assignment_expression "*(float *)(iVar16 + iVar19 * 4) = (float)dStack_330" (pointer_expression "*(float *)(iVar16 + iVar19 * 4)" (* "*") (cast_expression "(float *)(iVar16 + iVar19 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar19 * 4)" (( "(") (binary_expression "iVar16 + iVar19 * 4" (identifier "iVar16") (+ "+") (binary_expression "iVar19 * 4" (identifier "iVar19") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dStack_330" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dStack_330"))) (; ";")) (if_statement "if (iVar26 != 0) {\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }" (if "if") (parenthesized_expression "(iVar26 != 0)" (( "(") (binary_expression "iVar26 != 0" (identifier "iVar26") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;\n                  }" ({ "{") (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 0x2c) * 4)" (( "(") (binary_expression "iVar16 + *(int *)(iVar44 + 0x2c) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(iVar44 + 0x2c) * 4" (pointer_expression "*(int *)(iVar44 + 0x2c)" (* "*") (cast_expression "(int *)(iVar44 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x2c)" (( "(") (binary_expression "iVar44 + 0x2c" (identifier "iVar44") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dStack_328" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dStack_328"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar44 + 0x34) != 0) {\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar44 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar44 + 0x34) != 0" (pointer_expression "*(int *)(iVar44 + 0x34)" (* "*") (cast_expression "(int *)(iVar44 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x34)" (( "(") (binary_expression "iVar44 + 0x34" (identifier "iVar44") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    fVar42 = (float)uVar46;\n                    if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }\n                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;\n                  }" ({ "{") (expression_statement "fVar42 = (float)uVar46;" (assignment_expression "fVar42 = (float)uVar46" (identifier "fVar42") (= "=") (cast_expression "(float)uVar46" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar46"))) (; ";")) (if_statement "if (aiStack_368[2] != 0) {\n                      fVar42 = (float)dStack_320;\n                    }" (if "if") (parenthesized_expression "(aiStack_368[2] != 0)" (( "(") (binary_expression "aiStack_368[2] != 0" (subscript_expression "aiStack_368[2]" (identifier "aiStack_368") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      fVar42 = (float)dStack_320;\n                    }" ({ "{") (expression_statement "fVar42 = (float)dStack_320;" (assignment_expression "fVar42 = (float)dStack_320" (identifier "fVar42") (= "=") (cast_expression "(float)dStack_320" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dStack_320"))) (; ";")) (} "}"))) (expression_statement "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;" (assignment_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42" (pointer_expression "*(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + *(int *)(iVar44 + 0x38) * 4)" (( "(") (binary_expression "iVar16 + *(int *)(iVar44 + 0x38) * 4" (identifier "iVar16") (+ "+") (binary_expression "*(int *)(iVar44 + 0x38) * 4" (pointer_expression "*(int *)(iVar44 + 0x38)" (* "*") (cast_expression "(int *)(iVar44 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 0x38)" (( "(") (binary_expression "iVar44 + 0x38" (identifier "iVar44") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "fVar42")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar43 = iVar43 + 1;" (assignment_expression "iVar43 = iVar43 + 1" (identifier "iVar43") (= "=") (binary_expression "iVar43 + 1" (identifier "iVar43") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4" (identifier "iVar13") (= "=") (binary_expression "iVar13 + *(int *)(iVar4 + 0x2c0) * 4" (identifier "iVar13") (+ "+") (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2c0)" (( "(") (binary_expression "iVar4 + 0x2c0" (identifier "iVar4") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar16 = iVar16 + puVar6[0xb0] * 4;" (assignment_expression "iVar16 = iVar16 + puVar6[0xb0] * 4" (identifier "iVar16") (= "=") (binary_expression "iVar16 + puVar6[0xb0] * 4" (identifier "iVar16") (+ "+") (binary_expression "puVar6[0xb0] * 4" (subscript_expression "puVar6[0xb0]" (identifier "puVar6") ([ "[") (number_literal "0xb0") (] "]")) (* "*") (number_literal "4")))) (; ";")) (if_statement "if (iVar41 <= iVar43) break;" (if "if") (parenthesized_expression "(iVar41 <= iVar43)" (( "(") (binary_expression "iVar41 <= iVar43" (identifier "iVar41") (<= "<=") (identifier "iVar43")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar44 = *(int *)(iVar4 + 0x2d0);" (assignment_expression "iVar44 = *(int *)(iVar4 + 0x2d0)" (identifier "iVar44") (= "=") (pointer_expression "*(int *)(iVar4 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d0)" (( "(") (binary_expression "iVar4 + 0x2d0" (identifier "iVar4") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar50 = iVar50 + 1;" (assignment_expression "iVar50 = iVar50 + 1" (identifier "iVar50") (= "=") (binary_expression "iVar50 + 1" (identifier "iVar50") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);" (assignment_expression "iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2854ec))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2854ec)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) () ")")) (argument_list "(uVar27,pcVar37)" (( "(") (identifier "uVar27") (, ",") (identifier "pcVar37") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) goto LAB_00124f5c;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00124f5c;" (goto "goto") (statement_identifier "LAB_00124f5c") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar50 < (int)puVar6[7])" (( "(") (binary_expression "iVar50 < (int)puVar6[7]" (identifier "iVar50") (< "<") (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]")))) () ")")) (; ";")) (} "}")))) (expression_statement "iVar50 = 1;" (assignment_expression "iVar50 = 1" (identifier "iVar50") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00124f60:\n        (**(code **)(pcVar38 + 0x284ee8))(uVar15);" (statement_identifier "LAB_00124f60") (: ":") (expression_statement "(**(code **)(pcVar38 + 0x284ee8))(uVar15);" (call_expression "(**(code **)(pcVar38 + 0x284ee8))(uVar15)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ee8))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284ee8)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284ee8)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284ee8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284ee8)" (( "(") (binary_expression "pcVar38 + 0x284ee8" (identifier "pcVar38") (+ "+") (number_literal "0x284ee8")) () ")"))))) () ")")) (argument_list "(uVar15)" (( "(") (identifier "uVar15") () ")"))) (; ";"))) (expression_statement "(**(code **)(pcVar38 + 0x284ee8))(uVar27);" (call_expression "(**(code **)(pcVar38 + 0x284ee8))(uVar27)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284ee8))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284ee8)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284ee8)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284ee8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284ee8)" (( "(") (binary_expression "pcVar38 + 0x284ee8" (identifier "pcVar38") (+ "+") (number_literal "0x284ee8")) () ")"))))) () ")")) (argument_list "(uVar27)" (( "(") (identifier "uVar27") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar38 + 0x28538c))(iVar5);" (call_expression "(**(code **)(pcVar38 + 0x28538c))(iVar5)" (parenthesized_expression "(**(code **)(pcVar38 + 0x28538c))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x28538c)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x28538c)" (* "*") (cast_expression "(code **)(pcVar38 + 0x28538c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x28538c)" (( "(") (binary_expression "pcVar38 + 0x28538c" (identifier "pcVar38") (+ "+") (number_literal "0x28538c")) () ")"))))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar38 + 0x284f40))(iVar4);" (call_expression "(**(code **)(pcVar38 + 0x284f40))(iVar4)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f40))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284f40)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284f40)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f40)" (( "(") (binary_expression "pcVar38 + 0x284f40" (identifier "pcVar38") (+ "+") (number_literal "0x284f40")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (goto_statement "goto LAB_001240ec;" (goto "goto") (statement_identifier "LAB_001240ec") (; ";")) (} "}"))) (goto_statement "goto LAB_00125064;" (goto "goto") (statement_identifier "LAB_00125064") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);\nLAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2855fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2855fc)" (( "(") (binary_expression "pcVar38 + 0x2855fc" (identifier "pcVar38") (+ "+") (number_literal "0x2855fc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,\n               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848dc) + -0x3784" (pointer_expression "*(int *)(pcVar38 + 0x2848dc)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848dc)" (( "(") (binary_expression "pcVar38 + 0x2848dc" (identifier "pcVar38") (+ "+") (number_literal "0x2848dc")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x29e0")) (, ",") (number_literal "0xaa") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x2cc8")) () ")"))) (; ";")) (labeled_statement "LAB_00125064:\n    (**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);" (statement_identifier "LAB_00125064") (: ":") (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2855fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2855fc)" (( "(") (binary_expression "pcVar38 + 0x2855fc" (identifier "pcVar38") (+ "+") (number_literal "0x2855fc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1158" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1158")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x29e0")) () ")"))) (; ";"))) (} "}")))) (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2855fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2855fc)" (( "(") (binary_expression "pcVar38 + 0x2855fc" (identifier "pcVar38") (+ "+") (number_literal "0x2855fc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x1114" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x1114")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x29e0")) (, ",") (number_literal "0xad") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x2cc8")) () ")"))) (; ";")) (expression_statement "puVar21 = puVar6;" (assignment_expression "puVar21 = puVar6" (identifier "puVar21") (= "=") (identifier "puVar6")) (; ";")) (labeled_statement "LAB_001250a8:\n  puVar6 = puVar21;" (statement_identifier "LAB_001250a8") (: ":") (expression_statement "puVar6 = puVar21;" (assignment_expression "puVar6 = puVar21" (identifier "puVar6") (= "=") (identifier "puVar21")) (; ";"))) (expression_statement "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);" (call_expression "(**(code **)(pcVar38 + 0x2855fc))\n            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (parenthesized_expression "(**(code **)(pcVar38 + 0x2855fc))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x2855fc)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x2855fc)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2855fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2855fc)" (( "(") (binary_expression "pcVar38 + 0x2855fc" (identifier "pcVar38") (+ "+") (number_literal "0x2855fc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,\n             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8)" (( "(") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0xdd0" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x29e0")) (, ",") (number_literal "0xa9") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cc8" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x2cc8")) () ")"))) (; ";")) (do "do") (compound_statement "{\n    (**(code **)(pcVar38 + 0x285058))();\nLAB_001250d8:\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x107;\nLAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);\nLAB_001240e8:\n    iVar50 = 0;\nLAB_001240ec:\n  } while (iStack_2b4 != *piVar34);\n  return iVar50;\nLAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);\nLAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);\n  if (iVar13 == 0) goto LAB_0012464c;\nLAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }\n  iVar13 = iVar41 + 1;\n  uVar35 = uVar10;\n  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }\n  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }\n  goto LAB_0012463c;\n}" ({ "{") (expression_statement "(**(code **)(pcVar38 + 0x285058))();" (call_expression "(**(code **)(pcVar38 + 0x285058))()" (parenthesized_expression "(**(code **)(pcVar38 + 0x285058))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x285058)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x285058)" (* "*") (cast_expression "(code **)(pcVar38 + 0x285058)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x285058)" (( "(") (binary_expression "pcVar38 + 0x285058" (identifier "pcVar38") (+ "+") (number_literal "0x285058")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001250d8:\n    puVar6 = puVar6 + 0xd0;" (statement_identifier "LAB_001250d8") (: ":") (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 0xd0" (identifier "puVar6") (+ "+") (number_literal "0xd0"))) (; ";"))) (expression_statement "uVar27 = 0x107;" (assignment_expression "uVar27 = 0x107" (identifier "uVar27") (= "=") (number_literal "0x107")) (; ";")) (labeled_statement "LAB_00124ee4:\n    (**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);" (statement_identifier "LAB_00124ee4") (: ":") (expression_statement "(**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);" (call_expression "(**(code **)(pcVar38 + 0x284f14))\n              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6)" (parenthesized_expression "(**(code **)(pcVar38 + 0x284f14))" (( "(") (pointer_expression "**(code **)(pcVar38 + 0x284f14)" (* "*") (pointer_expression "*(code **)(pcVar38 + 0x284f14)" (* "*") (cast_expression "(code **)(pcVar38 + 0x284f14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x284f14)" (( "(") (binary_expression "pcVar38 + 0x284f14" (identifier "pcVar38") (+ "+") (number_literal "0x284f14")) () ")"))))) () ")")) (argument_list "(pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,\n               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,\n               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6)" (( "(") (identifier "pcVar37") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x29e0" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x29e0")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2cb4" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x2cb4")) (, ",") (identifier "uVar27") (, ",") (number_literal "0x1cc") (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d8) + 0x2a40" (pointer_expression "*(int *)(pcVar38 + 0x2848d8)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d8)" (( "(") (binary_expression "pcVar38 + 0x2848d8" (identifier "pcVar38") (+ "+") (number_literal "0x2848d8")) () ")")))) (+ "+") (number_literal "0x2a40")) (, ",") (binary_expression "*(int *)(pcVar38 + 0x2848d4) + 0x3e28" (pointer_expression "*(int *)(pcVar38 + 0x2848d4)" (* "*") (cast_expression "(int *)(pcVar38 + 0x2848d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar38 + 0x2848d4)" (( "(") (binary_expression "pcVar38 + 0x2848d4" (identifier "pcVar38") (+ "+") (number_literal "0x2848d4")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (identifier "puVar6") () ")"))) (; ";"))) (labeled_statement "LAB_001240e8:\n    iVar50 = 0;" (statement_identifier "LAB_001240e8") (: ":") (expression_statement "iVar50 = 0;" (assignment_expression "iVar50 = 0" (identifier "iVar50") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_001240ec:\n  } while (iStack_2b4 != *piVar34);" (statement_identifier "LAB_001240ec") (: ":") (ERROR "}" (} "}")) (while_statement "while (iStack_2b4 != *piVar34);" (while "while") (parenthesized_expression "(iStack_2b4 != *piVar34)" (( "(") (binary_expression "iStack_2b4 != *piVar34" (identifier "iStack_2b4") (!= "!=") (pointer_expression "*piVar34" (* "*") (identifier "piVar34"))) () ")")) (expression_statement ";" (; ";")))) (return_statement "return iVar50;" (return "return") (identifier "iVar50") (; ";")) (labeled_statement "LAB_00124d50:\n  pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (statement_identifier "LAB_00124d50") (: ":") (expression_statement "pcVar39 = *(code **)(pcVar38 + 0x2854ec);" (assignment_expression "pcVar39 = *(code **)(pcVar38 + 0x2854ec)" (identifier "pcVar39") (= "=") (pointer_expression "*(code **)(pcVar38 + 0x2854ec)" (* "*") (cast_expression "(code **)(pcVar38 + 0x2854ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar38 + 0x2854ec)" (( "(") (binary_expression "pcVar38 + 0x2854ec" (identifier "pcVar38") (+ "+") (number_literal "0x2854ec")) () ")"))))) (; ";"))) (labeled_statement "LAB_00124d60:\n  iVar13 = (*pcVar39)(uVar15,pcVar37);" (statement_identifier "LAB_00124d60") (: ":") (expression_statement "iVar13 = (*pcVar39)(uVar15,pcVar37);" (assignment_expression "iVar13 = (*pcVar39)(uVar15,pcVar37)" (identifier "iVar13") (= "=") (call_expression "(*pcVar39)(uVar15,pcVar37)" (parenthesized_expression "(*pcVar39)" (( "(") (pointer_expression "*pcVar39" (* "*") (identifier "pcVar39")) () ")")) (argument_list "(uVar15,pcVar37)" (( "(") (identifier "uVar15") (, ",") (identifier "pcVar37") () ")")))) (; ";"))) (if_statement "if (iVar13 == 0) goto LAB_0012464c;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0012464c;" (goto "goto") (statement_identifier "LAB_0012464c") (; ";"))) (labeled_statement "LAB_00124a50:\n  if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" (statement_identifier "LAB_00124a50") (: ":") (if_statement "if (pdVar14 <= pdVar33) {\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" (if "if") (parenthesized_expression "(pdVar14 <= pdVar33)" (( "(") (binary_expression "pdVar14 <= pdVar33" (identifier "pdVar14") (<= "<=") (identifier "pdVar33")) () ")")) (compound_statement "{\n    puVar6 = puVar6 + 0xd0;\n    uVar27 = 0x125;\n    goto LAB_00124ee4;\n  }" ({ "{") (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 0xd0" (identifier "puVar6") (+ "+") (number_literal "0xd0"))) (; ";")) (expression_statement "uVar27 = 0x125;" (assignment_expression "uVar27 = 0x125" (identifier "uVar27") (= "=") (number_literal "0x125")) (; ";")) (goto_statement "goto LAB_00124ee4;" (goto "goto") (statement_identifier "LAB_00124ee4") (; ";")) (} "}")))) (expression_statement "iVar13 = iVar41 + 1;" (assignment_expression "iVar13 = iVar41 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar41 + 1" (identifier "iVar41") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar35 = uVar10;" (assignment_expression "uVar35 = uVar10" (identifier "uVar35") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }\n  else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" (if "if") (parenthesized_expression "((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50))" (( "(") (binary_expression "(iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)" (parenthesized_expression "(iVar44 + iVar50 < 0)" (( "(") (binary_expression "iVar44 + iVar50 < 0" (binary_expression "iVar44 + iVar50" (identifier "iVar44") (+ "+") (identifier "iVar50")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)puVar6[7] <= iVar44 + iVar50)" (( "(") (binary_expression "(int)puVar6[7] <= iVar44 + iVar50" (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]"))) (<= "<=") (binary_expression "iVar44 + iVar50" (identifier "iVar44") (+ "+") (identifier "iVar50"))) () ")"))) () ")")) (compound_statement "{\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n  }" ({ "{") (if_statement "if ((int)uVar10 <= iVar13) goto LAB_0012463c;" (if "if") (parenthesized_expression "((int)uVar10 <= iVar13)" (( "(") (binary_expression "(int)uVar10 <= iVar13" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (<= "<=") (identifier "iVar13")) () ")")) (goto_statement "goto LAB_0012463c;" (goto "goto") (statement_identifier "LAB_0012463c") (; ";"))) (} "}")) (else_clause "else {\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" (else "else") (compound_statement "{\n    pdVar32 = pdVar33 + 4;\n    *pdVar33 = (double)(int)uStack_390;\n    pdVar33[3] = (double)iVar44;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33 = pdVar32;\n    if ((int)uVar10 <= iVar13) goto LAB_0012463c;\n    if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }\n  }" ({ "{") (expression_statement "pdVar32 = pdVar33 + 4;" (assignment_expression "pdVar32 = pdVar33 + 4" (identifier "pdVar32") (= "=") (binary_expression "pdVar33 + 4" (identifier "pdVar33") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*pdVar33 = (double)(int)uStack_390;" (assignment_expression "*pdVar33 = (double)(int)uStack_390" (pointer_expression "*pdVar33" (* "*") (identifier "pdVar33")) (= "=") (cast_expression "(double)(int)uStack_390" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)uStack_390" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_390")))) (; ";")) (expression_statement "pdVar33[3] = (double)iVar44;" (assignment_expression "pdVar33[3] = (double)iVar44" (subscript_expression "pdVar33[3]" (identifier "pdVar33") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(double)iVar44" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar44"))) (; ";")) (expression_statement "pdVar33[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar33[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar33[2]" (identifier "pdVar33") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)(int)(uVar10 - 1)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)(uVar10 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "pdVar33[1] = (double)iVar50;" (assignment_expression "pdVar33[1] = (double)iVar50" (subscript_expression "pdVar33[1]" (identifier "pdVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)iVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar50"))) (; ";")) (expression_statement "pdVar33 = pdVar32;" (assignment_expression "pdVar33 = pdVar32" (identifier "pdVar33") (= "=") (identifier "pdVar32")) (; ";")) (if_statement "if ((int)uVar10 <= iVar13) goto LAB_0012463c;" (if "if") (parenthesized_expression "((int)uVar10 <= iVar13)" (( "(") (binary_expression "(int)uVar10 <= iVar13" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (<= "<=") (identifier "iVar13")) () ")")) (goto_statement "goto LAB_0012463c;" (goto "goto") (statement_identifier "LAB_0012463c") (; ";"))) (if_statement "if (pdVar14 <= pdVar32) {\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }" (if "if") (parenthesized_expression "(pdVar14 <= pdVar32)" (( "(") (binary_expression "pdVar14 <= pdVar32" (identifier "pdVar14") (<= "<=") (identifier "pdVar32")) () ")")) (compound_statement "{\n      puVar6 = puVar6 + 0xd0;\n      uVar27 = 0x127;\n      goto LAB_00124ee4;\n    }" ({ "{") (expression_statement "puVar6 = puVar6 + 0xd0;" (assignment_expression "puVar6 = puVar6 + 0xd0" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 0xd0" (identifier "puVar6") (+ "+") (number_literal "0xd0"))) (; ";")) (expression_statement "uVar27 = 0x127;" (assignment_expression "uVar27 = 0x127" (identifier "uVar27") (= "=") (number_literal "0x127")) (; ";")) (goto_statement "goto LAB_00124ee4;" (goto "goto") (statement_identifier "LAB_00124ee4") (; ";")) (} "}"))) (} "}")))) (if_statement "if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }" (if "if") (parenthesized_expression "((-1 < iVar43) && (iVar43 < (int)puVar6[7]))" (( "(") (binary_expression "(-1 < iVar43) && (iVar43 < (int)puVar6[7])" (parenthesized_expression "(-1 < iVar43)" (( "(") (binary_expression "-1 < iVar43" (number_literal "-1") (< "<") (identifier "iVar43")) () ")")) (&& "&&") (parenthesized_expression "(iVar43 < (int)puVar6[7])" (( "(") (binary_expression "iVar43 < (int)puVar6[7]" (identifier "iVar43") (< "<") (cast_expression "(int)puVar6[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar6[7]" (identifier "puVar6") ([ "[") (number_literal "7") (] "]")))) () ")"))) () ")")) (compound_statement "{\n    *pdVar33 = (double)iVar13;\n    pdVar33[2] = (double)(int)(uVar10 - 1);\n    pdVar33[1] = (double)iVar50;\n    pdVar33[3] = (double)-iVar44;\n    pdVar33 = pdVar33 + 4;\n  }" ({ "{") (expression_statement "*pdVar33 = (double)iVar13;" (assignment_expression "*pdVar33 = (double)iVar13" (pointer_expression "*pdVar33" (* "*") (identifier "pdVar33")) (= "=") (cast_expression "(double)iVar13" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar13"))) (; ";")) (expression_statement "pdVar33[2] = (double)(int)(uVar10 - 1);" (assignment_expression "pdVar33[2] = (double)(int)(uVar10 - 1)" (subscript_expression "pdVar33[2]" (identifier "pdVar33") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)(int)(uVar10 - 1)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)(uVar10 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "pdVar33[1] = (double)iVar50;" (assignment_expression "pdVar33[1] = (double)iVar50" (subscript_expression "pdVar33[1]" (identifier "pdVar33") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)iVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "iVar50"))) (; ";")) (expression_statement "pdVar33[3] = (double)-iVar44;" (assignment_expression "pdVar33[3] = (double)-iVar44" (subscript_expression "pdVar33[3]" (identifier "pdVar33") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(double)-iVar44" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (unary_expression "-iVar44" (- "-") (identifier "iVar44")))) (; ";")) (expression_statement "pdVar33 = pdVar33 + 4;" (assignment_expression "pdVar33 = pdVar33 + 4" (identifier "pdVar33") (= "=") (binary_expression "pdVar33 + 4" (identifier "pdVar33") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0012463c;" (goto "goto") (statement_identifier "LAB_0012463c") (; ";")) (} "}")))

/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */
/* DWARF original prototype: void TransparentPaintImage._omp_fn.2(anon_struct_36_9_094e039a *
   param_0) */

void __thiscall TransparentPaintImage__omp_fn_2(void *this)

{
  undefined *puVar1;
  int *piVar2;
  float **ppfVar3;
  int iVar4;
  int iVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 *puVar9;
  uint uVar10;
  undefined4 *puVar11;
  void *pvVar12;
  double *pdVar13;
  int iVar14;
  double *pdVar15;
  undefined4 uVar16;
  int iVar17;
  undefined *puVar18;
  int *piVar19;
  int iVar20;
  int *piVar21;
  undefined4 *puVar22;
  uint uVar23;
  float **ppfVar24;
  uint uVar25;
  int iVar26;
  undefined *in_a1;
  float *in_a2;
  int in_a3;
  int iVar27;
  undefined4 uVar28;
  float *pfVar29;
  float *pfVar30;
  int *unaff_s0;
  float *pfVar31;
  float *pfVar32;
  double *pdVar33;
  double *pdVar34;
  uint unaff_s4;
  int *piVar35;
  undefined4 *unaff_s5;
  float **unaff_s6;
  uint uVar36;
  int unaff_s7;
  undefined4 *puVar37;
  code *pcVar38;
  code *pcVar39;
  code *pcVar40;
  double dVar41;
  int iVar42;
  float fVar43;
  int iVar44;
  int iVar45;
  double in_f20_21;
  double dVar46;
  ulonglong uVar47;
  double in_f22_23;
  double dVar48;
  ulonglong uVar49;
  undefined8 uVar50;
  int iVar51;
  int *piVar52;
  uint uStack_390;
  int aiStack_368 [10];
  double dStack_340;
  double dStack_338;
  double dStack_330;
  double dStack_328;
  double dStack_320;
  undefined4 uStack_310;
  undefined4 uStack_30c;
  undefined4 uStack_308;
  undefined8 uStack_300;
  undefined4 uStack_2f8;
  double dStack_2e8;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  double dStack_2c8;
  double dStack_2c0;
  int iStack_2b4;
  float *pfStack_2b0;
  int *piStack_2ac;
  undefined4 *puStack_2a8;
  void *pvStack_2a4;
  uint uStack_2a0;
  undefined4 *puStack_29c;
  float **ppfStack_298;
  undefined4 *puStack_294;
  undefined4 *puStack_290;
  code *pcStack_28c;
  double dStack_288;
  double dStack_280;
  int iStack_248;
  undefined *puStack_244;
  code *pcStack_240;
  float *pfStack_234;
  undefined4 *puStack_230;
  undefined *puStack_22c;
  int *piStack_228;
  undefined *puStack_224;
  float *pfStack_220;
  undefined4 uStack_21c;
  undefined4 uStack_218;
  undefined8 uStack_210;
  undefined4 uStack_208;
  double dStack_1f8;
  double dStack_1f0;
  double dStack_1e8;
  double dStack_1e0;
  double dStack_1d8;
  double dStack_1d0;
  int iStack_1c4;
  int *piStack_1c0;
  float *pfStack_1bc;
  float *pfStack_1b8;
  void *pvStack_1b4;
  uint uStack_1b0;
  undefined4 *puStack_1ac;
  float **ppfStack_1a8;
  undefined4 *puStack_1a4;
  undefined4 *puStack_1a0;
  code *pcStack_19c;
  double dStack_198;
  double dStack_190;
  undefined4 uStack_178;
  undefined *puStack_174;
  undefined *puStack_170;
  undefined *puStack_164;
  int *piStack_160;
  undefined *puStack_15c;
  float *apfStack_158 [4];
  undefined8 uStack_148;
  undefined4 uStack_140;
  double dStack_130;
  double dStack_128;
  double dStack_120;
  double dStack_118;
  double dStack_110;
  double dStack_108;
  int iStack_fc;
  int *piStack_f8;
  float *pfStack_f4;
  float *pfStack_f0;
  void *pvStack_ec;
  uint uStack_e8;
  undefined4 *puStack_e4;
  float **ppfStack_e0;
  int iStack_dc;
  undefined4 *puStack_d8;
  code *pcStack_d4;
  double dStack_d0;
  undefined4 local_b8;
  undefined *local_b4;
  float *local_98 [4];
  undefined8 local_88;
  undefined4 local_80;
  double local_70;
  double local_68;
  double local_60;
  double local_58;
  double local_50;
  double local_48;
  int local_3c;
  
  puVar18 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
                    /* WARNING: Load size is inaccurate */
  puVar37 = *this;
  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();
  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar51 = (int)puVar37[7] / iVar4;
  iVar4 = (int)puVar37[7] % iVar4;
  puVar22 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar22 != (undefined4 *)0x0) {
    iVar51 = iVar51 + 1;
    iVar4 = 0;
  }
  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);
  pfVar32 = (float *)(iVar51 + (int)pfVar31);
  if ((int)pfVar31 < (int)pfVar32) {
    unaff_s6 = local_98;
    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),*(undefined4 *)((int)this + 8))
    ;
    unaff_s5 = *(undefined4 **)((int)this + 0xc);
    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);
    puVar6 = *(undefined4 **)((int)this + 0x14);
    unaff_s4 = *(uint *)((int)this + 4);
    puVar7 = *(undefined **)((int)this + 0x10);
    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;
    do {
      if (*(int *)((int)this + 0x1c) != 0) {
        in_a1 = (undefined *)0x0;
        in_a3 = puVar37[6];
        local_b8 = 1;
        puVar22 = puVar6;
        in_a2 = pfVar31;
        local_b4 = puVar7;
        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();
        if (unaff_s7 == 0) {
LAB_00123734:
          *(undefined4 *)((int)this + 0x1c) = 0;
        }
        else {
          puVar9 = *(undefined4 **)((int)this + 0x18);
          puVar22 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar24 = ppfVar3;
            puVar11 = puVar22;
            puVar22 = puVar11 + 4;
            pfVar30 = (float *)puVar11[1];
            pfVar29 = (float *)puVar11[2];
            in_a2 = (float *)puVar11[3];
            *ppfVar24 = (float *)*puVar11;
            ppfVar24[1] = pfVar30;
            ppfVar24[2] = pfVar29;
            ppfVar24[3] = in_a2;
            ppfVar3 = ppfVar24 + 4;
          } while (puVar22 != puVar9 + 0x14);
          pfVar29 = (float *)puVar11[5];
          ppfVar24[4] = (float *)*puVar22;
          ppfVar24[5] = pfVar29;
          if (0 < (int)puVar37[6]) {
            unaff_s0 = (int *)0x0;
            do {
              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);
              local_88 = *(undefined8 *)(puVar37 + 0x92);
              local_98[0] = (float *)*puVar37;
              local_98[1] = (float *)puVar37[1];
              local_80 = puVar37[8];
              local_98[2] = (float *)puVar37[0xaf];
              in_a2 = local_98[0];
              local_50 = in_f20_21;
              if (unaff_s7 != 0) {
                iVar4 = puVar37[0xb4];
                in_a2 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);
                local_70 = (double)*in_a2;
                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);
                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  local_98[2] = (float *)0x4;
                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);
                }
              }
              puVar22 = (undefined4 *)
                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);
              if ((unaff_s5 != puVar22) && (*(int *)(puVar37[0xb4] + 0x34) != 0)) {
                *(int *)(unaff_s7 + *(int *)(puVar37[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s7 = unaff_s7 + puVar37[0xb0] * 4;
            } while ((int)unaff_s0 < (int)puVar37[6]);
          }
          puVar22 = puVar6;
          in_a1 = puVar7;
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();
          if (iVar4 == 0) {
            *(undefined4 *)((int)this + 0x1c) = 0;
          }
          if (puVar37[0xca] != 0) {
            unaff_s0 = *(int **)((int)this + 0x20);
            (*(code *)PTR_GOMP_atomic_start_003a92e4)();
            puVar1 = PTR_GOMP_atomic_end_003a9438;
            uVar10 = unaff_s0[1];
            uVar23 = uVar10 + 1;
            unaff_s0[1] = uVar23;
            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;
            (*(code *)puVar1)();
            local_b4 = (undefined *)puVar37[7];
            in_a3 = (*(undefined4 **)((int)this + 0x20))[1];
            in_a2 = (float *)**(undefined4 **)((int)this + 0x20);
            local_b8 = 0;
            puVar22 = puVar37;
            in_a1 = puVar8;
            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();
            if (iVar4 == 0) goto LAB_00123734;
          }
        }
      }
      pfVar31 = (float *)((int)pfVar31 + 1);
    } while (pfVar32 != pfVar31);
  }
  if (local_3c == *(int *)puVar18) {
    return;
  }
  pcVar38 = OpaquePaintImage__omp_fn_1;
  puVar18 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puStack_170 = puVar18 + 0x28d118;
  piStack_160 = *(int **)(puVar18 + 0x285a98);
  iStack_fc = *piStack_160;
  puVar6 = (undefined4 *)*puVar22;
  piStack_f8 = unaff_s0;
  pfStack_f4 = pfVar31;
  pfStack_f0 = pfVar32;
  pvStack_ec = this;
  uStack_e8 = unaff_s4;
  puStack_e4 = unaff_s5;
  ppfStack_e0 = unaff_s6;
  iStack_dc = unaff_s7;
  puStack_d8 = puVar37;
  pcStack_d4 = pcVar38;
  dStack_d0 = in_f20_21;
  iVar4 = (**(code **)(puVar18 + 0x286174))();
  iVar5 = (**(code **)(puStack_170 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar51 = (int)puVar6[7] / iVar4;
  iVar4 = (int)puVar6[7] % iVar4;
  puVar37 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar37 != (undefined4 *)0x0) {
    iVar51 = iVar51 + 1;
    iVar4 = 0;
  }
  pfVar31 = (float *)(iVar51 * iVar5 + iVar4);
  pfVar32 = (float *)(iVar51 + (int)pfVar31);
  puVar18 = puStack_170;
  if ((int)pfVar31 < (int)pfVar32) {
    unaff_s6 = apfStack_158;
    unaff_s5 = (undefined4 *)puVar22[3];
    this = (void *)puVar22[1];
    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);
    puStack_164 = (undefined *)puVar22[2];
    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);
    do {
      if (puVar22[7] != 0) {
        in_a1 = (undefined *)0x0;
        in_a3 = puVar6[6];
        puStack_174 = puStack_164;
        uStack_178 = 1;
        puVar37 = unaff_s5;
        in_a2 = pfVar31;
        unaff_s4 = (**(code **)(puVar18 + -0x7264))();
        if (unaff_s4 == 0) {
LAB_00123bb4:
          puVar22[7] = 0;
          puVar18 = puStack_170;
        }
        else {
          puVar9 = (undefined4 *)puVar22[6];
          puVar37 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar24 = ppfVar3;
            puVar11 = puVar37;
            puVar37 = puVar11 + 4;
            pfVar30 = (float *)puVar11[1];
            pfVar29 = (float *)puVar11[2];
            in_a2 = (float *)puVar11[3];
            *ppfVar24 = (float *)*puVar11;
            ppfVar24[1] = pfVar30;
            ppfVar24[2] = pfVar29;
            ppfVar24[3] = in_a2;
            ppfVar3 = ppfVar24 + 4;
          } while (puVar37 != puVar9 + 0x14);
          pfVar29 = (float *)puVar11[5];
          ppfVar24[4] = (float *)*puVar37;
          ppfVar24[5] = pfVar29;
          unaff_s0 = (int *)0x0;
          if (0 < (int)puVar6[6]) {
            pcVar38 = *(code **)(puStack_170 + -0x78bc);
            do {
              (*pcVar38)(unaff_s6,0,0x58);
              uStack_148 = *(undefined8 *)(puVar6 + 0x92);
              apfStack_158[0] = (float *)*puVar6;
              apfStack_158[1] = (float *)puVar6[1];
              uStack_140 = puVar6[8];
              apfStack_158[2] = (float *)puVar6[0xaf];
              in_a2 = apfStack_158[0];
              dStack_110 = in_f20_21;
              if (unaff_s4 == 0) {
LAB_00123a48:
                pcVar38 = *(code **)(puStack_170 + -0x792c);
              }
              else {
                iVar4 = puVar6[0xb4];
                in_a2 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);
                dStack_130 = (double)*in_a2;
                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);
                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  apfStack_158[2] = (float *)0x4;
                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);
                }
                pcVar38 = *(code **)(puStack_170 + -0x792c);
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);
                  goto LAB_00123a48;
                }
              }
              pvVar12 = (void *)(*pcVar38)(unaff_s6,puVar22[5]);
              if (this != pvVar12) {
                iVar4 = puVar6[0xb4];
                if ((*(uint *)(iVar4 + 4) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =
                       (float)*(double *)(puVar22[4] + 0x28);
                }
                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =
                       (float)*(double *)(puVar22[4] + 0x30);
                }
                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =
                       (float)*(double *)(puVar22[4] + 0x38);
                }
                uVar10 = *(uint *)(iVar4 + 0x34) & 2;
                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {
                  if (uVar10 != 0) {
                    dVar41 = *(double *)(puVar22[4] + 0x48);
                    goto LAB_0012391c;
                  }
                }
                else {
                  in_a2 = (float *)puVar22[4];
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =
                       (float)*(double *)(in_a2 + 0x10);
                  if (uVar10 != 0) {
                    dVar41 = *(double *)(in_a2 + 0x12);
LAB_0012391c:
                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar41;
                  }
                }
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;
              if ((int)puVar6[6] <= (int)unaff_s0) break;
              pcVar38 = *(code **)(puStack_170 + -0x78bc);
            } while( true );
          }
          puVar37 = unaff_s5;
          in_a1 = puStack_164;
          iVar4 = (**(code **)(puStack_170 + -0x73b8))();
          if (iVar4 == 0) {
            puVar22[7] = 0;
          }
          puVar18 = puStack_170;
          if (puVar6[0xca] != 0) {
            unaff_s0 = (int *)puVar22[8];
            (**(code **)(puStack_170 + -0x75cc))();
            uVar10 = unaff_s0[1];
            uVar23 = uVar10 + 1;
            pcVar38 = *(code **)(puStack_170 + -0x7478);
            unaff_s0[1] = uVar23;
            *unaff_s0 = (uint)(uVar23 < uVar10) + *unaff_s0;
            (*pcVar38)();
            puStack_174 = (undefined *)puVar6[7];
            in_a3 = ((undefined4 *)puVar22[8])[1];
            in_a2 = *(float **)puVar22[8];
            uStack_178 = 0;
            puVar37 = puVar6;
            in_a1 = puStack_15c;
            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();
            puVar18 = puStack_170;
            if (iVar4 == 0) goto LAB_00123bb4;
          }
        }
      }
      pfVar31 = (float *)((int)pfVar31 + 1);
    } while (pfVar32 != pfVar31);
  }
  if (iStack_fc == *piStack_160) {
    return;
  }
  pcVar38 = *(code **)(puVar18 + -0x784c);
  pcVar39 = TransparentPaintImageChroma__omp_fn_3;
  (*pcVar38)();
  pcStack_240 = pcVar38 + 0x28cc9c;
  piStack_228 = *(int **)(pcVar38 + 0x28561c);
  iStack_1c4 = *piStack_228;
  puVar9 = (undefined4 *)*puVar37;
  piStack_1c0 = unaff_s0;
  pfStack_1bc = pfVar31;
  pfStack_1b8 = pfVar32;
  pvStack_1b4 = this;
  uStack_1b0 = unaff_s4;
  puStack_1ac = unaff_s5;
  ppfStack_1a8 = unaff_s6;
  puStack_1a4 = puVar22;
  puStack_1a0 = puVar6;
  pcStack_19c = pcVar39;
  dStack_198 = in_f20_21;
  dStack_190 = in_f22_23;
  iVar4 = (**(code **)(pcVar38 + 0x285cf8))();
  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  piVar52 = (int *)((int)puVar9[7] / iVar4);
  iVar4 = (int)puVar9[7] % iVar4;
  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar6 != (undefined4 *)0x0) {
    piVar52 = (int *)((int)piVar52 + 1);
    iVar4 = 0;
  }
  pfVar31 = (float *)((int)piVar52 * iVar5 + iVar4);
  pfStack_234 = (float *)((int)piVar52 + (int)pfVar31);
  pcVar38 = pcStack_240;
  if ((int)pfVar31 < (int)pfStack_234) {
    unaff_s6 = &pfStack_220;
    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar37[3]);
    unaff_s4 = puVar37[4];
    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);
    puStack_230 = (undefined4 *)puVar37[6];
    unaff_s5 = (undefined4 *)puVar37[2];
    this = (void *)puVar37[1];
    puStack_22c = (undefined *)puVar37[5];
    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);
    do {
      if (puVar37[7] != 0) {
        in_a1 = (undefined *)0x0;
        in_a3 = puVar9[6];
        puStack_244 = puStack_22c;
        iStack_248 = 1;
        puVar6 = puStack_230;
        in_a2 = pfVar31;
        piVar52 = (int *)(**(code **)(pcVar38 + -0x7264))();
        if (piVar52 == (int *)0x0) {
LAB_00123f74:
          puVar37[7] = 0;
          pcVar38 = pcStack_240;
        }
        else {
          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);
          if (0 < (int)puVar9[6]) {
            puVar22 = (undefined4 *)0x0;
            do {
              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);
              uStack_210 = *(undefined8 *)(puVar9 + 0x92);
              pfStack_220 = (float *)*puVar9;
              uStack_21c = puVar9[1];
              uStack_208 = puVar9[8];
              uStack_218 = puVar9[0xaf];
              in_a2 = pfStack_220;
              dStack_1d8 = in_f22_23;
              if (piVar52 != (int *)0x0) {
                iVar4 = puVar9[0xb4];
                in_a2 = (float *)(piVar52 + *(int *)(iVar4 + 8));
                dStack_1f8 = (double)*in_a2;
                dStack_1f0 = (double)(float)piVar52[*(int *)(iVar4 + 0x14)];
                dStack_1e8 = (double)(float)piVar52[*(int *)(iVar4 + 0x20)];
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_1e0 = (double)(float)piVar52[*(int *)(iVar4 + 0x2c)];
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  uStack_218 = 4;
                  dStack_1d8 = (double)(float)piVar52[*(int *)(iVar4 + 0x38)];
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_1d0 = (double)(float)piVar52[*(int *)(iVar4 + 0x44)];
                }
              }
              uVar10 = 0;
              if (((*(double *)((int)this + 0x28) <= dStack_1f8) &&
                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&
                 (*(double *)((int)this + 0x30) <= dStack_1f0)) {
                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||
                   (dStack_1e8 < *(double *)((int)this + 0x38))) {
                  uVar10 = 0;
                }
                else {
                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));
                }
              }
              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {
                piVar52[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);
              }
              puVar22 = (undefined4 *)((int)puVar22 + 1);
              piVar52 = piVar52 + puVar9[0xb0];
            } while ((int)puVar22 < (int)puVar9[6]);
          }
          puVar6 = puStack_230;
          in_a1 = puStack_22c;
          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();
          if (iVar4 == 0) {
            puVar37[7] = 0;
          }
          pcVar38 = pcStack_240;
          if (puVar9[0xca] != 0) {
            piVar52 = (int *)puVar37[8];
            (**(code **)(pcStack_240 + -0x75cc))();
            uVar10 = piVar52[1];
            uVar23 = uVar10 + 1;
            pcVar38 = *(code **)(pcStack_240 + -0x7478);
            piVar52[1] = uVar23;
            *piVar52 = (uint)(uVar23 < uVar10) + *piVar52;
            (*pcVar38)();
            puStack_244 = (undefined *)puVar9[7];
            in_a3 = ((undefined4 *)puVar37[8])[1];
            in_a2 = *(float **)puVar37[8];
            iStack_248 = 0;
            puVar6 = puVar9;
            in_a1 = puStack_224;
            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();
            pcVar38 = pcStack_240;
            if (iVar4 == 0) goto LAB_00123f74;
          }
        }
      }
      pfVar31 = (float *)((int)pfVar31 + 1);
    } while (pfStack_234 != pfVar31);
  }
  if (iStack_1c4 == *piStack_228) {
    return;
  }
  pcVar39 = *(code **)(pcVar38 + -0x784c);
  pcVar40 = FloodfillPaintImage;
  (*pcVar39)();
  pcVar38 = pcStack_240;
  piVar35 = *(int **)(pcVar39 + 0x285224);
  iStack_2b4 = *piVar35;
  pfStack_2b0 = pfVar31;
  piStack_2ac = piVar52;
  puStack_2a8 = puVar37;
  pvStack_2a4 = this;
  uStack_2a0 = unaff_s4;
  puStack_29c = unaff_s5;
  ppfStack_298 = unaff_s6;
  puStack_294 = puVar22;
  puStack_290 = puVar9;
  pcStack_28c = pcVar40;
  dStack_288 = in_f20_21;
  dStack_280 = in_f22_23;
  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;
  if (puVar6[0xcdb] == -0x54535255) {
    if (puVar6[0xcd4] != 0) {
      (**(code **)(pcVar39 + 0x2851d4))
                (0x8000,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,
                 0xac,*(int *)(pcVar39 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);
    }
    if (in_a1 != (undefined *)0x0) {
      if (*(int *)(in_a1 + 0x390) == -0x54535255) {
        if (in_a3 < 0) goto LAB_001240ec;
        if ((int)puVar6[6] <= in_a3) goto LAB_001240ec;
        if (iStack_248 < 0) goto LAB_001240ec;
        if ((int)puVar6[7] <= iStack_248) goto LAB_001240ec;
        iVar4 = (**(code **)(pcVar39 + 0x285818))(puVar6,1,pcVar38);
        if (iVar4 == 0) goto LAB_001240ec;
        if (puVar6[1] == 0x21) {
          pcVar40 = *(code **)(pcVar39 + 0x284d34);
        }
        else {
          pcVar40 = *(code **)(pcVar39 + 0x284d34);
          if (puVar6[1] != 3) goto LAB_001241b0;
        }
        (*pcVar40)(puVar6,0x17,pcVar38);
LAB_001241b0:
        if ((puVar6[0xaf] == 0) && (*(int *)(in_a1 + 0x50) != 0)) {
          (**(code **)(pcVar39 + 0x284c6c))
                    (puVar6,*(undefined4 *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50),pcVar38);
        }
        iVar4 = (**(code **)(pcVar39 + 0x285824))(puVar6,0,0,1,pcVar38);
        if (iVar4 == 0) goto LAB_001240ec;
        iVar5 = *(int *)(pcVar39 + 0x2848d8);
        pcVar40 = *(code **)(pcVar39 + 0x284e08);
        *(undefined4 *)(iVar4 + 700) = 0;
        *(undefined4 *)(iVar4 + 4) = 3;
        (*pcVar40)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar38);
        (**(code **)(pcVar39 + 0x284e84))(iVar4,pcVar38);
        iVar5 = (**(code **)(pcVar39 + 0x2852c0))(0x80000,0x20);
        if (iVar5 == 0) {
          puVar6 = puVar6 + 0xd0;
          (**(code **)(pcVar39 + 0x284f40))(iVar4);
          (**(code **)(pcVar39 + 0x284f14))
                    (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,
                     *(int *)(pcVar39 + 0x2848d8) + 0x2cb4,0xca,400,
                     *(int *)(pcVar39 + 0x2848d4) + 0x16f8,*(int *)(pcVar39 + 0x2848d4) + 0x3e28,
                     puVar6);
          goto LAB_001240ec;
        }
        pdVar13 = (double *)(**(code **)(pcVar39 + 0x284f1c))(iVar5);
        iVar51 = puVar6[7];
        pdVar34 = pdVar13;
        if (iStack_248 + 1 < iVar51) {
          iVar14 = *(int *)(pcVar39 + 0x2848d4);
          *pdVar13 = (double)in_a3;
          pdVar13[2] = (double)in_a3;
          dVar41 = *(double *)(iVar14 + 0x1438);
          pdVar13[1] = (double)iStack_248;
          pdVar13[3] = dVar41;
          pdVar34 = pdVar13 + 4;
        }
        pdVar15 = pdVar13 + 0x200000;
        if (pdVar15 <= pdVar34) {
          puVar6 = puVar6 + 0xd0;
          uVar28 = 0xd4;
          goto LAB_00124ee4;
        }
        pcVar40 = *(code **)(pcVar39 + 0x2852a8);
        pdVar33 = pdVar34;
        if (iStack_248 < iVar51) {
          iVar51 = *(int *)(pcVar39 + 0x2848d4);
          pdVar33 = pdVar34 + 4;
          *pdVar34 = (double)in_a3;
          pdVar34[2] = (double)in_a3;
          dVar41 = *(double *)(iVar51 + 0x1a78);
          pdVar34[1] = (double)(iStack_248 + 1);
          pdVar34[3] = dVar41;
        }
        (*pcVar40)(puVar6,&uStack_310);
        uVar28 = (**(code **)(pcVar39 + 0x285748))(puVar6,pcVar38);
        uVar16 = (**(code **)(pcVar39 + 0x284ec8))(iVar4,pcVar38);
        if (pdVar13 < pdVar33) {
          dVar46 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a58);
          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);
          uVar49 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);
          dVar41 = dVar46;
          dVar48 = dVar46;
          do {
            pdVar34 = pdVar33 + -4;
            uVar23 = (uint)pdVar33[-4];
            iVar45 = (int)pdVar33[-1];
            iVar44 = (int)pdVar33[-3];
            iVar42 = (int)pdVar33[-2];
            uVar10 = uVar23 + 1;
            iVar51 = iVar44 + iVar45;
            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,0,iVar51,uVar10,1,pcVar38);
            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,0,iVar51,uVar10,1,pcVar38);
            puVar18 = puStack_244;
            if ((iVar14 == 0) || (iVar17 == 0)) break;
            iVar14 = puVar6[0xb0] * 4 * uVar23 + iVar14;
            iVar17 = *(int *)(iVar4 + 0x2c0) * 4 * uVar23 + iVar17;
            uVar36 = uVar23;
            if ((int)uVar23 < 0) {
              pcVar40 = *(code **)(pcVar39 + 0x2854ec);
LAB_00125018:
              iVar14 = (*pcVar40)(uVar16,pcVar38);
              if (iVar14 == 0) break;
            }
            else {
              pcVar40 = *(code **)(pcVar39 + 0x2854ec);
              if (*(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)
              goto LAB_00125018;
              do {
                (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);
                uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                uStack_310 = *puVar6;
                uStack_30c = puVar6[1];
                uStack_2f8 = puVar6[8];
                uStack_308 = puVar6[0xaf];
                dStack_2c8 = dVar48;
                if (iVar14 == 0) {
LAB_001245ec:
                  pcVar40 = *(code **)(pcVar39 + 0x284f78);
                }
                else {
                  iVar20 = puVar6[0xb4];
                  dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);
                  dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);
                  dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);
                  if (*(int *)(iVar20 + 0x28) != 0) {
                    dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);
                  }
                  if (*(int *)(iVar20 + 0x34) != 0) {
                    uStack_308 = 4;
                    dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);
                  }
                  pcVar40 = *(code **)(pcVar39 + 0x284f78);
                  if (*(int *)(iVar20 + 0x40) != 0) {
                    dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);
                    goto LAB_001245ec;
                  }
                }
                puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);
                if (puVar7 == puVar18) {
                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);
                  break;
                }
                uVar36 = uVar36 - 1;
                iVar14 = iVar14 + puVar6[0xb0] * -4;
                iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                puVar37 = (undefined4 *)(iVar17 + iVar20);
                iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * -4;
                *puVar37 = (int)uVar49;
                if (uVar36 == 0xffffffff) {
                  iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar16,pcVar38);
                  if (iVar14 == 0) goto LAB_0012465c;
                  uVar25 = uVar23 >> 0x1f;
                  goto LAB_00124dbc;
                }
                pcVar40 = *(code **)(pcVar39 + 0x2854ec);
              } while (*(float *)(iVar17 + iVar20) == 0.0);
              iVar14 = (*pcVar40)(uVar16,pcVar38);
              if (iVar14 == 0) break;
              uVar25 = (int)uVar36 < (int)uVar23 ^ 1;
              if ((int)uVar36 < (int)uVar23 != 0) {
LAB_00124dbc:
                uStack_390 = uVar36 + 1;
                if ((int)uVar23 <= (int)uStack_390) goto LAB_00124a40;
                if (pdVar15 <= pdVar34) goto LAB_001250d8;
                if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {
                  pdVar33[-4] = (double)(int)uStack_390;
                  pdVar33[-3] = (double)iVar51;
                  pdVar33[-2] = (double)(int)(uVar23 - 1);
                  pdVar33[-1] = (double)-iVar45;
                  pdVar34 = pdVar33;
                }
                uVar36 = uVar10;
                if (uVar25 == 0) {
                  iVar14 = puVar6[6];
                  goto LAB_00124a44;
                }
              }
            }
LAB_0012463c:
            uVar10 = uVar36 + 1;
            if ((int)uVar10 <= iVar42) {
              iVar17 = (iVar42 - uVar10) + 1;
              iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar28,uVar10,iVar51,iVar17,1,pcVar38);
              iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar16,uVar10,iVar51,iVar17,1,pcVar38);
              if ((iVar14 != 0) && (uVar50 = 0, iVar17 != 0)) {
                while (uStack_390 = uVar10,
                      *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==
                      (float)uVar50) {
                  (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);
                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                  uStack_310 = *puVar6;
                  uStack_30c = puVar6[1];
                  uStack_2f8 = puVar6[8];
                  uStack_308 = puVar6[0xaf];
                  dStack_2c8 = dVar46;
                  if (iVar14 == 0) {
LAB_001249ec:
                    pcVar40 = *(code **)(pcVar39 + 0x284f78);
                  }
                  else {
                    iVar20 = puVar6[0xb4];
                    dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);
                    dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);
                    dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);
                    if (*(int *)(iVar20 + 0x28) != 0) {
                      dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);
                    }
                    if (*(int *)(iVar20 + 0x34) != 0) {
                      uStack_308 = 4;
                      dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);
                    }
                    pcVar40 = *(code **)(pcVar39 + 0x284f78);
                    if (*(int *)(iVar20 + 0x40) != 0) {
                      dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);
                      goto LAB_001249ec;
                    }
                  }
                  puVar18 = (undefined *)(*pcVar40)(&uStack_310,in_a2);
                  if (puStack_244 != puVar18) break;
                  uVar10 = uVar10 + 1;
                  iVar14 = iVar14 + puVar6[0xb0] * 4;
                  iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;
                  if (iVar42 < (int)uVar10) goto LAB_0012464c;
                }
LAB_00124a40:
                iVar14 = puVar6[6];
LAB_00124a44:
                if (iVar14 <= (int)uVar10) goto LAB_00124a50;
                iVar14 = (**(code **)(pcVar39 + 0x285650))
                                   (uVar28,uVar10,iVar51,iVar14 - uVar10,1,pcVar38);
                iVar17 = (**(code **)(pcVar39 + 0x285640))
                                   (uVar16,uVar10,iVar51,puVar6[6] - uVar10,1,pcVar38);
                puVar18 = puStack_244;
                if ((iVar14 != 0) && (iVar17 != 0)) {
                  pcVar40 = *(code **)(pcVar39 + 0x2854ec);
                  if (((int)uVar10 < (int)puVar6[6]) &&
                     (uVar50 = 0,
                     *(float *)(iVar17 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {
                    do {
                      (**(code **)(pcVar39 + 0x284fe8))(&uStack_310,0,0x58);
                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                      uStack_310 = *puVar6;
                      uStack_30c = puVar6[1];
                      uStack_2f8 = puVar6[8];
                      uStack_308 = puVar6[0xaf];
                      dStack_2c8 = dVar41;
                      if (iVar14 == 0) {
LAB_00124d38:
                        pcVar40 = *(code **)(pcVar39 + 0x284f78);
                      }
                      else {
                        iVar20 = puVar6[0xb4];
                        dStack_2e8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 8) * 4);
                        dStack_2e0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x14) * 4);
                        dStack_2d8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x20) * 4);
                        if (*(int *)(iVar20 + 0x28) != 0) {
                          dStack_2d0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x2c) * 4);
                        }
                        if (*(int *)(iVar20 + 0x34) != 0) {
                          uStack_308 = 4;
                          dStack_2c8 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x38) * 4);
                        }
                        pcVar40 = *(code **)(pcVar39 + 0x284f78);
                        if (*(int *)(iVar20 + 0x40) != 0) {
                          dStack_2c0 = (double)*(float *)(iVar14 + *(int *)(iVar20 + 0x44) * 4);
                          goto LAB_00124d38;
                        }
                      }
                      puVar7 = (undefined *)(*pcVar40)(&uStack_310,in_a2);
                      if (puVar18 == puVar7) goto LAB_00124d50;
                      uVar10 = uVar10 + 1;
                      iVar26 = puVar6[6];
                      iVar14 = iVar14 + puVar6[0xb0] * 4;
                      iVar20 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                      puVar37 = (undefined4 *)(iVar17 + iVar20);
                      iVar17 = iVar17 + *(int *)(iVar4 + 0x2c0) * 4;
                      *puVar37 = (int)uVar47;
                      if ((iVar26 <= (int)uVar10) || (*(float *)(iVar17 + iVar20) != (float)uVar50))
                      goto LAB_00124d50;
                    } while( true );
                  }
                  goto LAB_00124d60;
                }
              }
            }
LAB_0012464c:
            pdVar33 = pdVar34;
          } while (pdVar13 < pdVar34);
        }
LAB_0012465c:
        if (0 < (int)puVar6[7]) {
          iVar51 = 0;
          uVar47 = (ulonglong)*(uint *)(*(int *)(pcVar39 + 0x2848d4) + 0x1a50);
          dVar41 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x13f8);
          dVar48 = *(double *)(*(int *)(pcVar39 + 0x2848d4) + 0x1440);
          while( true ) {
            iVar14 = (**(code **)(pcVar39 + 0x285650))(uVar16,0,iVar51,puVar6[6],1,pcVar38);
            iVar17 = (**(code **)(pcVar39 + 0x285640))(uVar28,0,iVar51,puVar6[6],1,pcVar38);
            if ((iVar14 == 0) || (iVar17 == 0)) break;
            iVar42 = puVar6[6];
            iVar44 = 0;
            if (0 < iVar42) {
              iVar45 = *(int *)(iVar4 + 0x2d0);
              while( true ) {
                if (*(float *)(iVar14 + *(int *)(iVar45 + 8) * 4) != 0.0) {
                  iVar45 = *(int *)(in_a1 + 0x1a8);
                  if (iVar45 == 0) {
                    piVar52 = (int *)(in_a1 + 0x48);
                    piVar2 = aiStack_368;
                    do {
                      piVar21 = piVar2;
                      piVar19 = piVar52;
                      piVar52 = piVar19 + 4;
                      iVar26 = piVar19[2];
                      iVar45 = piVar19[3];
                      iVar20 = *piVar19;
                      piVar21[1] = piVar19[1];
                      piVar21[2] = iVar26;
                      *piVar21 = iVar20;
                      piVar21[3] = iVar45;
                      piVar2 = piVar21 + 4;
                    } while (piVar52 != (int *)(in_a1 + 0x98));
                    iVar45 = *piVar52;
                    piVar21[5] = piVar19[5];
                    piVar21[4] = iVar45;
                  }
                  else {
                    (**(code **)(pcVar39 + 0x285410))
                              (iVar45,6,iVar44 + *(int *)(iVar45 + 0x298),
                               iVar51 + *(int *)(iVar45 + 0x29c),aiStack_368,pcVar38);
                    if (dVar41 <= ABS(*(double *)(in_a1 + 0x398))) {
                      iVar42 = puVar6[6];
                      dStack_320 = dStack_320 * *(double *)(in_a1 + 0x398) * dVar48;
                    }
                    else {
                      iVar42 = puVar6[6];
                    }
                  }
                  iVar45 = puVar6[0xb4];
                  iVar26 = *(int *)(iVar45 + 0x14);
                  iVar20 = *(int *)(iVar45 + 0x20);
                  iVar27 = *(int *)(iVar45 + 0x28);
                  *(float *)(iVar17 + *(int *)(iVar45 + 8) * 4) = (float)dStack_340;
                  *(float *)(iVar17 + iVar26 * 4) = (float)dStack_338;
                  *(float *)(iVar17 + iVar20 * 4) = (float)dStack_330;
                  if (iVar27 != 0) {
                    *(float *)(iVar17 + *(int *)(iVar45 + 0x2c) * 4) = (float)dStack_328;
                  }
                  if (*(int *)(iVar45 + 0x34) != 0) {
                    fVar43 = (float)uVar47;
                    if (aiStack_368[2] != 0) {
                      fVar43 = (float)dStack_320;
                    }
                    *(float *)(iVar17 + *(int *)(iVar45 + 0x38) * 4) = fVar43;
                  }
                }
                iVar44 = iVar44 + 1;
                iVar14 = iVar14 + *(int *)(iVar4 + 0x2c0) * 4;
                iVar17 = iVar17 + puVar6[0xb0] * 4;
                if (iVar42 <= iVar44) break;
                iVar45 = *(int *)(iVar4 + 0x2d0);
              }
            }
            iVar51 = iVar51 + 1;
            iVar14 = (**(code **)(pcVar39 + 0x2854ec))(uVar28,pcVar38);
            if ((iVar14 == 0) || ((int)puVar6[7] <= iVar51)) break;
          }
        }
        (**(code **)(pcVar39 + 0x284ee8))(uVar16);
        (**(code **)(pcVar39 + 0x284ee8))(uVar28);
        (**(code **)(pcVar39 + 0x28538c))(iVar5);
        (**(code **)(pcVar39 + 0x284f40))(iVar4);
        goto LAB_001240ec;
      }
      goto LAB_00125064;
    }
  }
  else {
    (**(code **)(pcVar39 + 0x2855fc))
              (*(int *)(pcVar39 + 0x2848dc) + -0x3784,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xaa,
               *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);
LAB_00125064:
    (**(code **)(pcVar39 + 0x2855fc))
              (*(int *)(pcVar39 + 0x2848d4) + 0x1158,*(int *)(pcVar39 + 0x2848d8) + 0x29e0);
  }
  (**(code **)(pcVar39 + 0x2855fc))
            (*(int *)(pcVar39 + 0x2848d4) + 0x1114,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xad,
             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);
  puVar22 = puVar6;
LAB_001250a8:
  puVar6 = puVar22;
  (**(code **)(pcVar39 + 0x2855fc))
            (*(int *)(pcVar39 + 0x2848d4) + 0xdd0,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,0xa9,
             *(int *)(pcVar39 + 0x2848d8) + 0x2cc8);
  do {
    (**(code **)(pcVar39 + 0x285058))();
LAB_001250d8:
    puVar6 = puVar6 + 0xd0;
    uVar28 = 0x107;
LAB_00124ee4:
    (**(code **)(pcVar39 + 0x284f14))
              (pcVar38,*(int *)(pcVar39 + 0x2848d8) + 0x29e0,*(int *)(pcVar39 + 0x2848d8) + 0x2cb4,
               uVar28,0x1cc,*(int *)(pcVar39 + 0x2848d8) + 0x2a40,
               *(int *)(pcVar39 + 0x2848d4) + 0x3e28,puVar6);
LAB_001240ec:
  } while (iStack_2b4 != *piVar35);
  return;
LAB_00124d50:
  pcVar40 = *(code **)(pcVar39 + 0x2854ec);
LAB_00124d60:
  iVar14 = (*pcVar40)(uVar16,pcVar38);
  if (iVar14 == 0) goto LAB_0012464c;
LAB_00124a50:
  if (pdVar15 <= pdVar34) {
    puVar6 = puVar6 + 0xd0;
    uVar28 = 0x125;
    goto LAB_00124ee4;
  }
  iVar14 = iVar42 + 1;
  uVar36 = uVar10;
  if ((iVar45 + iVar51 < 0) || ((int)puVar6[7] <= iVar45 + iVar51)) {
    if ((int)uVar10 <= iVar14) goto LAB_0012463c;
  }
  else {
    pdVar33 = pdVar34 + 4;
    *pdVar34 = (double)(int)uStack_390;
    pdVar34[3] = (double)iVar45;
    pdVar34[2] = (double)(int)(uVar10 - 1);
    pdVar34[1] = (double)iVar51;
    pdVar34 = pdVar33;
    if ((int)uVar10 <= iVar14) goto LAB_0012463c;
    if (pdVar15 <= pdVar33) {
      puVar6 = puVar6 + 0xd0;
      uVar28 = 0x127;
      goto LAB_00124ee4;
    }
  }
  if ((-1 < iVar44) && (iVar44 < (int)puVar6[7])) {
    *pdVar34 = (double)iVar14;
    pdVar34[2] = (double)(int)(uVar10 - 1);
    pdVar34[1] = (double)iVar51;
    pdVar34[3] = (double)-iVar45;
    pdVar34 = pdVar34 + 4;
  }
  goto LAB_0012463c;
}


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

int MASKED(undefined4 *param_1,undefined *param_2,float *param_3,int param_4)

{
  undefined *puVar1;
  int *piVar2;
  float **ppfVar3;
  int iVar4;
  int iVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 *puVar9;
  uint uVar10;
  undefined4 *puVar11;
  double *pdVar12;
  int iVar13;
  double *pdVar14;
  undefined4 uVar15;
  int iVar16;
  undefined *puVar17;
  int *piVar18;
  int iVar19;
  int *piVar20;
  undefined4 *puVar21;
  uint uVar22;
  float **ppfVar23;
  uint uVar24;
  int iVar25;
  int iVar26;
  undefined4 uVar27;
  float *pfVar28;
  float *pfVar29;
  int *unaff_s0;
  float *pfVar30;
  float *pfVar31;
  double *pdVar32;
  double *pdVar33;
  uint unaff_s4;
  int *piVar34;
  undefined4 *unaff_s5;
  float **unaff_s6;
  uint uVar35;
  int unaff_s7;
  undefined4 *puVar36;
  code *pcVar37;
  code *pcVar38;
  code *pcVar39;
  double dVar40;
  int iVar41;
  float fVar42;
  int iVar43;
  int iVar44;
  double in_f20_21;
  double dVar45;
  ulonglong uVar46;
  double in_f22_23;
  double dVar47;
  ulonglong uVar48;
  undefined8 uVar49;
  int iVar50;
  int *piVar51;
  uint uStack_390;
  int aiStack_368 [10];
  double dStack_340;
  double dStack_338;
  double dStack_330;
  double dStack_328;
  double dStack_320;
  undefined4 uStack_310;
  undefined4 uStack_30c;
  undefined4 uStack_308;
  undefined8 uStack_300;
  undefined4 uStack_2f8;
  double dStack_2e8;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  double dStack_2c8;
  double dStack_2c0;
  int iStack_2b4;
  float *pfStack_2b0;
  int *piStack_2ac;
  undefined4 *puStack_2a8;
  undefined4 *puStack_2a4;
  uint uStack_2a0;
  undefined4 *puStack_29c;
  float **ppfStack_298;
  undefined4 *puStack_294;
  undefined4 *puStack_290;
  code *pcStack_28c;
  double dStack_288;
  double dStack_280;
  int iStack_248;
  undefined *puStack_244;
  code *pcStack_240;
  float *pfStack_234;
  undefined4 *puStack_230;
  undefined *puStack_22c;
  int *piStack_228;
  undefined *puStack_224;
  float *pfStack_220;
  undefined4 uStack_21c;
  undefined4 uStack_218;
  undefined8 uStack_210;
  undefined4 uStack_208;
  double dStack_1f8;
  double dStack_1f0;
  double dStack_1e8;
  double dStack_1e0;
  double dStack_1d8;
  double dStack_1d0;
  int iStack_1c4;
  int *piStack_1c0;
  float *pfStack_1bc;
  float *pfStack_1b8;
  undefined4 *puStack_1b4;
  uint uStack_1b0;
  undefined4 *puStack_1ac;
  float **ppfStack_1a8;
  undefined4 *puStack_1a4;
  undefined4 *puStack_1a0;
  code *pcStack_19c;
  double dStack_198;
  double dStack_190;
  undefined4 uStack_178;
  undefined *puStack_174;
  undefined *puStack_170;
  undefined *puStack_164;
  int *piStack_160;
  undefined *puStack_15c;
  float *apfStack_158 [4];
  undefined8 uStack_148;
  undefined4 uStack_140;
  double dStack_130;
  double dStack_128;
  double dStack_120;
  double dStack_118;
  double dStack_110;
  double dStack_108;
  int iStack_fc;
  int *piStack_f8;
  float *pfStack_f4;
  float *pfStack_f0;
  undefined4 *puStack_ec;
  uint uStack_e8;
  undefined4 *puStack_e4;
  float **ppfStack_e0;
  int iStack_dc;
  undefined4 *puStack_d8;
  code *pcStack_d4;
  double dStack_d0;
  undefined4 local_b8;
  undefined *local_b4;
  float *local_98 [4];
  undefined8 local_88;
  undefined4 local_80;
  double local_70;
  double local_68;
  double local_60;
  double local_58;
  double local_50;
  double local_48;
  int local_3c;
  
  puVar17 = PTR___stack_chk_guard_003a9230;
  local_3c = *(int *)PTR___stack_chk_guard_003a9230;
  puVar36 = (undefined4 *)*param_1;
  iVar4 = (*(code *)PTR_omp_get_num_threads_003a990c)();
  iVar5 = (*(code *)PTR_omp_get_thread_num_003a9508)();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar50 = (int)puVar36[7] / iVar4;
  iVar4 = (int)puVar36[7] % iVar4;
  puVar21 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar21 != (undefined4 *)0x0) {
    iVar50 = iVar50 + 1;
    iVar4 = 0;
  }
  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);
  pfVar31 = (float *)(iVar50 + (int)pfVar30);
  if ((int)pfVar30 < (int)pfVar31) {
    unaff_s6 = local_98;
    in_f22_23 = (double)CONCAT44((int)((ulonglong)in_f22_23 >> 0x20),param_1[2]);
    unaff_s5 = (undefined4 *)param_1[3];
    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1a58);
    puVar6 = (undefined4 *)param_1[5];
    unaff_s4 = param_1[1];
    puVar7 = (undefined *)param_1[4];
    puVar8 = PTR_s_t_to_left_003a88e4 + 0x2a14;
    do {
      if (param_1[7] != 0) {
        param_2 = (undefined *)0x0;
        param_4 = puVar36[6];
        local_b8 = 1;
        puVar21 = puVar6;
        param_3 = pfVar30;
        local_b4 = puVar7;
        unaff_s7 = (*(code *)PTR_GetCacheViewAuthenticPixels_003a964c)();
        if (unaff_s7 == 0) {
LAB_00123734:
          param_1[7] = 0;
        }
        else {
          puVar9 = (undefined4 *)param_1[6];
          puVar21 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar23 = ppfVar3;
            puVar11 = puVar21;
            puVar21 = puVar11 + 4;
            pfVar29 = (float *)puVar11[1];
            pfVar28 = (float *)puVar11[2];
            param_3 = (float *)puVar11[3];
            *ppfVar23 = (float *)*puVar11;
            ppfVar23[1] = pfVar29;
            ppfVar23[2] = pfVar28;
            ppfVar23[3] = param_3;
            ppfVar3 = ppfVar23 + 4;
          } while (puVar21 != puVar9 + 0x14);
          pfVar28 = (float *)puVar11[5];
          ppfVar23[4] = (float *)*puVar21;
          ppfVar23[5] = pfVar28;
          if (0 < (int)puVar36[6]) {
            unaff_s0 = (int *)0x0;
            do {
              (*(code *)PTR_ResetMagickMemory_003a8ff4)(unaff_s6,0,0x58);
              local_88 = *(undefined8 *)(puVar36 + 0x92);
              local_98[0] = (float *)*puVar36;
              local_98[1] = (float *)puVar36[1];
              local_80 = puVar36[8];
              local_98[2] = (float *)puVar36[0xaf];
              param_3 = local_98[0];
              local_50 = in_f20_21;
              if (unaff_s7 != 0) {
                iVar4 = puVar36[0xb4];
                param_3 = (float *)(unaff_s7 + *(int *)(iVar4 + 8) * 4);
                local_70 = (double)*param_3;
                local_68 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x14) * 4);
                local_60 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  local_58 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  local_98[2] = (float *)0x4;
                  local_50 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x38) * 4);
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  local_48 = (double)*(float *)(unaff_s7 + *(int *)(iVar4 + 0x44) * 4);
                }
              }
              puVar21 = (undefined4 *)
                        (*(code *)PTR_IsFuzzyEquivalencePixelInfo_003a8f84)(unaff_s6,unaff_s4);
              if ((unaff_s5 != puVar21) && (*(int *)(puVar36[0xb4] + 0x34) != 0)) {
                *(int *)(unaff_s7 + *(int *)(puVar36[0xb4] + 0x38) * 4) = SUB84(in_f22_23,0);
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s7 = unaff_s7 + puVar36[0xb0] * 4;
            } while ((int)unaff_s0 < (int)puVar36[6]);
          }
          puVar21 = puVar6;
          param_2 = puVar7;
          iVar4 = (*(code *)PTR_SyncCacheViewAuthenticPixels_003a94f8)();
          if (iVar4 == 0) {
            param_1[7] = 0;
          }
          if (puVar36[0xca] != 0) {
            unaff_s0 = (int *)param_1[8];
            (*(code *)PTR_GOMP_atomic_start_003a92e4)();
            puVar1 = PTR_GOMP_atomic_end_003a9438;
            uVar10 = unaff_s0[1];
            uVar22 = uVar10 + 1;
            unaff_s0[1] = uVar22;
            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;
            (*(code *)puVar1)();
            local_b4 = (undefined *)puVar36[7];
            param_4 = ((undefined4 *)param_1[8])[1];
            param_3 = *(float **)param_1[8];
            local_b8 = 0;
            puVar21 = puVar36;
            param_2 = puVar8;
            iVar4 = (*(code *)PTR_SetImageProgress_003a8cb4)();
            if (iVar4 == 0) goto LAB_00123734;
          }
        }
      }
      pfVar30 = (float *)((int)pfVar30 + 1);
    } while (pfVar31 != pfVar30);
  }
  if (local_3c == *(int *)puVar17) {
    return *(int *)puVar17;
  }
  pcVar37 = FUN_00123798;
  puVar17 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  puStack_170 = puVar17 + 0x28d118;
  piStack_160 = *(int **)(puVar17 + 0x285a98);
  iStack_fc = *piStack_160;
  puVar6 = (undefined4 *)*puVar21;
  piStack_f8 = unaff_s0;
  pfStack_f4 = pfVar30;
  pfStack_f0 = pfVar31;
  puStack_ec = param_1;
  uStack_e8 = unaff_s4;
  puStack_e4 = unaff_s5;
  ppfStack_e0 = unaff_s6;
  iStack_dc = unaff_s7;
  puStack_d8 = puVar36;
  pcStack_d4 = pcVar37;
  dStack_d0 = in_f20_21;
  iVar4 = (**(code **)(puVar17 + 0x286174))();
  iVar5 = (**(code **)(puStack_170 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  iVar50 = (int)puVar6[7] / iVar4;
  iVar4 = (int)puVar6[7] % iVar4;
  puVar36 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar36 != (undefined4 *)0x0) {
    iVar50 = iVar50 + 1;
    iVar4 = 0;
  }
  pfVar30 = (float *)(iVar50 * iVar5 + iVar4);
  pfVar31 = (float *)(iVar50 + (int)pfVar30);
  puVar17 = puStack_170;
  if ((int)pfVar30 < (int)pfVar31) {
    unaff_s6 = apfStack_158;
    unaff_s5 = (undefined4 *)puVar21[3];
    param_1 = (undefined4 *)puVar21[1];
    in_f20_21 = *(double *)(*(int *)(puStack_170 + -0x7fd0) + 0x1a58);
    puStack_164 = (undefined *)puVar21[2];
    puStack_15c = (undefined *)(*(int *)(puStack_170 + -0x7fcc) + 0x2a28);
    do {
      if (puVar21[7] != 0) {
        param_2 = (undefined *)0x0;
        param_4 = puVar6[6];
        puStack_174 = puStack_164;
        uStack_178 = 1;
        puVar36 = unaff_s5;
        param_3 = pfVar30;
        unaff_s4 = (**(code **)(puVar17 + -0x7264))();
        if (unaff_s4 == 0) {
LAB_00123bb4:
          puVar21[7] = 0;
          puVar17 = puStack_170;
        }
        else {
          puVar9 = (undefined4 *)puVar21[6];
          puVar36 = puVar9;
          ppfVar3 = unaff_s6;
          do {
            ppfVar23 = ppfVar3;
            puVar11 = puVar36;
            puVar36 = puVar11 + 4;
            pfVar29 = (float *)puVar11[1];
            pfVar28 = (float *)puVar11[2];
            param_3 = (float *)puVar11[3];
            *ppfVar23 = (float *)*puVar11;
            ppfVar23[1] = pfVar29;
            ppfVar23[2] = pfVar28;
            ppfVar23[3] = param_3;
            ppfVar3 = ppfVar23 + 4;
          } while (puVar36 != puVar9 + 0x14);
          pfVar28 = (float *)puVar11[5];
          ppfVar23[4] = (float *)*puVar36;
          ppfVar23[5] = pfVar28;
          unaff_s0 = (int *)0x0;
          if (0 < (int)puVar6[6]) {
            pcVar37 = *(code **)(puStack_170 + -0x78bc);
            do {
              (*pcVar37)(unaff_s6,0,0x58);
              uStack_148 = *(undefined8 *)(puVar6 + 0x92);
              apfStack_158[0] = (float *)*puVar6;
              apfStack_158[1] = (float *)puVar6[1];
              uStack_140 = puVar6[8];
              apfStack_158[2] = (float *)puVar6[0xaf];
              param_3 = apfStack_158[0];
              dStack_110 = in_f20_21;
              if (unaff_s4 == 0) {
LAB_00123a48:
                pcVar37 = *(code **)(puStack_170 + -0x792c);
              }
              else {
                iVar4 = puVar6[0xb4];
                param_3 = (float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4);
                dStack_130 = (double)*param_3;
                dStack_128 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4);
                dStack_120 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4);
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_118 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4);
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  apfStack_158[2] = (float *)0x4;
                  dStack_110 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4);
                }
                pcVar37 = *(code **)(puStack_170 + -0x792c);
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_108 = (double)*(float *)(unaff_s4 + *(int *)(iVar4 + 0x44) * 4);
                  goto LAB_00123a48;
                }
              }
              puVar36 = (undefined4 *)(*pcVar37)(unaff_s6,puVar21[5]);
              if (param_1 != puVar36) {
                iVar4 = puVar6[0xb4];
                if ((*(uint *)(iVar4 + 4) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 8) * 4) =
                       (float)*(double *)(puVar21[4] + 0x28);
                }
                if ((*(uint *)(iVar4 + 0x10) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x14) * 4) =
                       (float)*(double *)(puVar21[4] + 0x30);
                }
                if ((*(uint *)(iVar4 + 0x1c) & 2) != 0) {
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x20) * 4) =
                       (float)*(double *)(puVar21[4] + 0x38);
                }
                uVar10 = *(uint *)(iVar4 + 0x34) & 2;
                if ((*(uint *)(iVar4 + 0x28) & 2) == 0) {
                  if (uVar10 != 0) {
                    dVar40 = *(double *)(puVar21[4] + 0x48);
                    goto LAB_0012391c;
                  }
                }
                else {
                  param_3 = (float *)puVar21[4];
                  *(float *)(unaff_s4 + *(int *)(iVar4 + 0x2c) * 4) =
                       (float)*(double *)(param_3 + 0x10);
                  if (uVar10 != 0) {
                    dVar40 = *(double *)(param_3 + 0x12);
LAB_0012391c:
                    *(float *)(unaff_s4 + *(int *)(iVar4 + 0x38) * 4) = (float)dVar40;
                  }
                }
              }
              unaff_s0 = (int *)((int)unaff_s0 + 1);
              unaff_s4 = unaff_s4 + puVar6[0xb0] * 4;
              if ((int)puVar6[6] <= (int)unaff_s0) break;
              pcVar37 = *(code **)(puStack_170 + -0x78bc);
            } while( true );
          }
          puVar36 = unaff_s5;
          param_2 = puStack_164;
          iVar4 = (**(code **)(puStack_170 + -0x73b8))();
          if (iVar4 == 0) {
            puVar21[7] = 0;
          }
          puVar17 = puStack_170;
          if (puVar6[0xca] != 0) {
            unaff_s0 = (int *)puVar21[8];
            (**(code **)(puStack_170 + -0x75cc))();
            uVar10 = unaff_s0[1];
            uVar22 = uVar10 + 1;
            pcVar37 = *(code **)(puStack_170 + -0x7478);
            unaff_s0[1] = uVar22;
            *unaff_s0 = (uint)(uVar22 < uVar10) + *unaff_s0;
            (*pcVar37)();
            puStack_174 = (undefined *)puVar6[7];
            param_4 = ((undefined4 *)puVar21[8])[1];
            param_3 = *(float **)puVar21[8];
            uStack_178 = 0;
            puVar36 = puVar6;
            param_2 = puStack_15c;
            iVar4 = (**(code **)(puStack_170 + -0x7bfc))();
            puVar17 = puStack_170;
            if (iVar4 == 0) goto LAB_00123bb4;
          }
        }
      }
      pfVar30 = (float *)((int)pfVar30 + 1);
    } while (pfVar31 != pfVar30);
  }
  if (iStack_fc == *piStack_160) {
    return *piStack_160;
  }
  pcVar37 = *(code **)(puVar17 + -0x784c);
  pcVar38 = FUN_00123c14;
  (*pcVar37)();
  pcStack_240 = pcVar37 + 0x28cc9c;
  piStack_228 = *(int **)(pcVar37 + 0x28561c);
  iStack_1c4 = *piStack_228;
  puVar9 = (undefined4 *)*puVar36;
  piStack_1c0 = unaff_s0;
  pfStack_1bc = pfVar30;
  pfStack_1b8 = pfVar31;
  puStack_1b4 = param_1;
  uStack_1b0 = unaff_s4;
  puStack_1ac = unaff_s5;
  ppfStack_1a8 = unaff_s6;
  puStack_1a4 = puVar21;
  puStack_1a0 = puVar6;
  pcStack_19c = pcVar38;
  dStack_198 = in_f20_21;
  dStack_190 = in_f22_23;
  iVar4 = (**(code **)(pcVar37 + 0x285cf8))();
  iVar5 = (**(code **)(pcStack_240 + -0x73a8))();
  if (iVar4 == 0) {
    trap(7);
  }
  piVar51 = (int *)((int)puVar9[7] / iVar4);
  iVar4 = (int)puVar9[7] % iVar4;
  puVar6 = (undefined4 *)(uint)(iVar5 < iVar4);
  if (puVar6 != (undefined4 *)0x0) {
    piVar51 = (int *)((int)piVar51 + 1);
    iVar4 = 0;
  }
  pfVar30 = (float *)((int)piVar51 * iVar5 + iVar4);
  pfStack_234 = (float *)((int)piVar51 + (int)pfVar30);
  pcVar37 = pcStack_240;
  if ((int)pfVar30 < (int)pfStack_234) {
    unaff_s6 = &pfStack_220;
    in_f20_21 = (double)CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),puVar36[3]);
    unaff_s4 = puVar36[4];
    in_f22_23 = *(double *)(*(int *)(pcStack_240 + -0x7fd0) + 0x1a58);
    puStack_230 = (undefined4 *)puVar36[6];
    unaff_s5 = (undefined4 *)puVar36[2];
    param_1 = (undefined4 *)puVar36[1];
    puStack_22c = (undefined *)puVar36[5];
    puStack_224 = (undefined *)(*(int *)(pcStack_240 + -0x7fcc) + 0x2a14);
    do {
      if (puVar36[7] != 0) {
        param_2 = (undefined *)0x0;
        param_4 = puVar9[6];
        puStack_244 = puStack_22c;
        iStack_248 = 1;
        puVar6 = puStack_230;
        param_3 = pfVar30;
        piVar51 = (int *)(**(code **)(pcVar37 + -0x7264))();
        if (piVar51 == (int *)0x0) {
LAB_00123f74:
          puVar36[7] = 0;
          pcVar37 = pcStack_240;
        }
        else {
          (**(code **)(pcStack_240 + -0x75fc))(puVar9,unaff_s6);
          if (0 < (int)puVar9[6]) {
            puVar21 = (undefined4 *)0x0;
            do {
              (**(code **)(pcStack_240 + -0x78bc))(unaff_s6,0,0x58);
              uStack_210 = *(undefined8 *)(puVar9 + 0x92);
              pfStack_220 = (float *)*puVar9;
              uStack_21c = puVar9[1];
              uStack_208 = puVar9[8];
              uStack_218 = puVar9[0xaf];
              param_3 = pfStack_220;
              dStack_1d8 = in_f22_23;
              if (piVar51 != (int *)0x0) {
                iVar4 = puVar9[0xb4];
                param_3 = (float *)(piVar51 + *(int *)(iVar4 + 8));
                dStack_1f8 = (double)*param_3;
                dStack_1f0 = (double)(float)piVar51[*(int *)(iVar4 + 0x14)];
                dStack_1e8 = (double)(float)piVar51[*(int *)(iVar4 + 0x20)];
                if (*(int *)(iVar4 + 0x28) != 0) {
                  dStack_1e0 = (double)(float)piVar51[*(int *)(iVar4 + 0x2c)];
                }
                if (*(int *)(iVar4 + 0x34) != 0) {
                  uStack_218 = 4;
                  dStack_1d8 = (double)(float)piVar51[*(int *)(iVar4 + 0x38)];
                }
                if (*(int *)(iVar4 + 0x40) != 0) {
                  dStack_1d0 = (double)(float)piVar51[*(int *)(iVar4 + 0x44)];
                }
              }
              uVar10 = 0;
              if (((*(double *)(param_1 + 10) <= dStack_1f8) &&
                  (dStack_1f8 <= *(double *)(unaff_s5 + 10))) &&
                 (*(double *)(param_1 + 0xc) <= dStack_1f0)) {
                if ((*(double *)(unaff_s5 + 0xc) < dStack_1f0) ||
                   (dStack_1e8 < *(double *)(param_1 + 0xe))) {
                  uVar10 = 0;
                }
                else {
                  uVar10 = (uint)(dStack_1e8 <= *(double *)(unaff_s5 + 0xe));
                }
              }
              if ((unaff_s4 != uVar10) && (*(int *)(puVar9[0xb4] + 0x34) != 0)) {
                piVar51[*(int *)(puVar9[0xb4] + 0x38)] = SUB84(in_f20_21,0);
              }
              puVar21 = (undefined4 *)((int)puVar21 + 1);
              piVar51 = piVar51 + puVar9[0xb0];
            } while ((int)puVar21 < (int)puVar9[6]);
          }
          puVar6 = puStack_230;
          param_2 = puStack_22c;
          iVar4 = (**(code **)(pcStack_240 + -0x73b8))();
          if (iVar4 == 0) {
            puVar36[7] = 0;
          }
          pcVar37 = pcStack_240;
          if (puVar9[0xca] != 0) {
            piVar51 = (int *)puVar36[8];
            (**(code **)(pcStack_240 + -0x75cc))();
            uVar10 = piVar51[1];
            uVar22 = uVar10 + 1;
            pcVar37 = *(code **)(pcStack_240 + -0x7478);
            piVar51[1] = uVar22;
            *piVar51 = (uint)(uVar22 < uVar10) + *piVar51;
            (*pcVar37)();
            puStack_244 = (undefined *)puVar9[7];
            param_4 = ((undefined4 *)puVar36[8])[1];
            param_3 = *(float **)puVar36[8];
            iStack_248 = 0;
            puVar6 = puVar9;
            param_2 = puStack_224;
            iVar4 = (**(code **)(pcStack_240 + -0x7bfc))();
            pcVar37 = pcStack_240;
            if (iVar4 == 0) goto LAB_00123f74;
          }
        }
      }
      pfVar30 = (float *)((int)pfVar30 + 1);
    } while (pfStack_234 != pfVar30);
  }
  if (iStack_1c4 == *piStack_228) {
    return *piStack_228;
  }
  pcVar38 = *(code **)(pcVar37 + -0x784c);
  pcVar39 = FloodfillPaintImage;
  (*pcVar38)();
  pcVar37 = pcStack_240;
  piVar34 = *(int **)(pcVar38 + 0x285224);
  iStack_2b4 = *piVar34;
  pfStack_2b0 = pfVar30;
  piStack_2ac = piVar51;
  puStack_2a8 = puVar36;
  puStack_2a4 = param_1;
  uStack_2a0 = unaff_s4;
  puStack_29c = unaff_s5;
  ppfStack_298 = unaff_s6;
  puStack_294 = puVar21;
  puStack_290 = puVar9;
  pcStack_28c = pcVar39;
  dStack_288 = in_f20_21;
  dStack_280 = in_f22_23;
  if (puVar6 == (undefined4 *)0x0) goto LAB_001250a8;
  if (puVar6[0xcdb] == -0x54535255) {
    if (puVar6[0xcd4] != 0) {
      (**(code **)(pcVar38 + 0x2851d4))
                (0x8000,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,
                 0xac,*(int *)(pcVar38 + 0x2848d8) + -0x62ac,puVar6 + 0xd0);
    }
    if (param_2 != (undefined *)0x0) {
      if (*(int *)(param_2 + 0x390) == -0x54535255) {
        if (param_4 < 0) goto LAB_001240e8;
        if ((int)puVar6[6] <= param_4) goto LAB_001240e8;
        if (iStack_248 < 0) goto LAB_001240e8;
        if ((int)puVar6[7] <= iStack_248) goto LAB_001240e8;
        iVar4 = (**(code **)(pcVar38 + 0x285818))(puVar6,1,pcVar37);
        if (iVar4 == 0) goto LAB_001240e8;
        if (puVar6[1] == 0x21) {
          pcVar39 = *(code **)(pcVar38 + 0x284d34);
        }
        else {
          pcVar39 = *(code **)(pcVar38 + 0x284d34);
          if (puVar6[1] != 3) goto LAB_001241b0;
        }
        (*pcVar39)(puVar6,0x17,pcVar37);
LAB_001241b0:
        if ((puVar6[0xaf] == 0) && (*(int *)(param_2 + 0x50) != 0)) {
          (**(code **)(pcVar38 + 0x284c6c))
                    (puVar6,*(undefined4 *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50),pcVar37);
        }
        iVar4 = (**(code **)(pcVar38 + 0x285824))(puVar6,0,0,1,pcVar37);
        if (iVar4 == 0) goto LAB_001240e8;
        iVar5 = *(int *)(pcVar38 + 0x2848d8);
        pcVar39 = *(code **)(pcVar38 + 0x284e08);
        *(undefined4 *)(iVar4 + 700) = 0;
        *(undefined4 *)(iVar4 + 4) = 3;
        (*pcVar39)(iVar5 + 0x2a38,0x7fffffff,iVar4 + 0x88,pcVar37);
        (**(code **)(pcVar38 + 0x284e84))(iVar4,pcVar37);
        iVar5 = (**(code **)(pcVar38 + 0x2852c0))(0x80000,0x20);
        if (iVar5 == 0) {
          puVar6 = puVar6 + 0xd0;
          iVar50 = 0;
          (**(code **)(pcVar38 + 0x284f40))(iVar4);
          (**(code **)(pcVar38 + 0x284f14))
                    (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,
                     *(int *)(pcVar38 + 0x2848d8) + 0x2cb4,0xca,400,
                     *(int *)(pcVar38 + 0x2848d4) + 0x16f8,*(int *)(pcVar38 + 0x2848d4) + 0x3e28,
                     puVar6);
          goto LAB_001240ec;
        }
        pdVar12 = (double *)(**(code **)(pcVar38 + 0x284f1c))(iVar5);
        iVar50 = puVar6[7];
        pdVar33 = pdVar12;
        if (iStack_248 + 1 < iVar50) {
          iVar13 = *(int *)(pcVar38 + 0x2848d4);
          *pdVar12 = (double)param_4;
          pdVar12[2] = (double)param_4;
          dVar40 = *(double *)(iVar13 + 0x1438);
          pdVar12[1] = (double)iStack_248;
          pdVar12[3] = dVar40;
          pdVar33 = pdVar12 + 4;
        }
        pdVar14 = pdVar12 + 0x200000;
        if (pdVar14 <= pdVar33) {
          puVar6 = puVar6 + 0xd0;
          uVar27 = 0xd4;
          goto LAB_00124ee4;
        }
        pcVar39 = *(code **)(pcVar38 + 0x2852a8);
        pdVar32 = pdVar33;
        if (iStack_248 < iVar50) {
          iVar50 = *(int *)(pcVar38 + 0x2848d4);
          pdVar32 = pdVar33 + 4;
          *pdVar33 = (double)param_4;
          pdVar33[2] = (double)param_4;
          dVar40 = *(double *)(iVar50 + 0x1a78);
          pdVar33[1] = (double)(iStack_248 + 1);
          pdVar33[3] = dVar40;
        }
        (*pcVar39)(puVar6,&uStack_310);
        uVar27 = (**(code **)(pcVar38 + 0x285748))(puVar6,pcVar37);
        uVar15 = (**(code **)(pcVar38 + 0x284ec8))(iVar4,pcVar37);
        if (pdVar12 < pdVar32) {
          dVar45 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a58);
          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);
          uVar48 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);
          dVar40 = dVar45;
          dVar47 = dVar45;
          do {
            pdVar33 = pdVar32 + -4;
            uVar22 = (uint)pdVar32[-4];
            iVar44 = (int)pdVar32[-1];
            iVar43 = (int)pdVar32[-3];
            iVar41 = (int)pdVar32[-2];
            uVar10 = uVar22 + 1;
            iVar50 = iVar43 + iVar44;
            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,0,iVar50,uVar10,1,pcVar37);
            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,0,iVar50,uVar10,1,pcVar37);
            puVar17 = puStack_244;
            if ((iVar13 == 0) || (iVar16 == 0)) break;
            iVar13 = puVar6[0xb0] * 4 * uVar22 + iVar13;
            iVar16 = *(int *)(iVar4 + 0x2c0) * 4 * uVar22 + iVar16;
            uVar35 = uVar22;
            if ((int)uVar22 < 0) {
              pcVar39 = *(code **)(pcVar38 + 0x2854ec);
LAB_00125018:
              iVar13 = (*pcVar39)(uVar15,pcVar37);
              if (iVar13 == 0) break;
            }
            else {
              pcVar39 = *(code **)(pcVar38 + 0x2854ec);
              if (*(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) != 0.0)
              goto LAB_00125018;
              do {
                (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);
                uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                uStack_310 = *puVar6;
                uStack_30c = puVar6[1];
                uStack_2f8 = puVar6[8];
                uStack_308 = puVar6[0xaf];
                dStack_2c8 = dVar47;
                if (iVar13 == 0) {
LAB_001245ec:
                  pcVar39 = *(code **)(pcVar38 + 0x284f78);
                }
                else {
                  iVar19 = puVar6[0xb4];
                  dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);
                  dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);
                  dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);
                  if (*(int *)(iVar19 + 0x28) != 0) {
                    dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);
                  }
                  if (*(int *)(iVar19 + 0x34) != 0) {
                    uStack_308 = 4;
                    dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);
                  }
                  pcVar39 = *(code **)(pcVar38 + 0x284f78);
                  if (*(int *)(iVar19 + 0x40) != 0) {
                    dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);
                    goto LAB_001245ec;
                  }
                }
                puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);
                if (puVar7 == puVar17) {
                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);
                  break;
                }
                uVar35 = uVar35 - 1;
                iVar13 = iVar13 + puVar6[0xb0] * -4;
                iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                puVar36 = (undefined4 *)(iVar16 + iVar19);
                iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * -4;
                *puVar36 = (int)uVar48;
                if (uVar35 == 0xffffffff) {
                  iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar15,pcVar37);
                  if (iVar13 == 0) goto LAB_0012465c;
                  uVar24 = uVar22 >> 0x1f;
                  goto LAB_00124dbc;
                }
                pcVar39 = *(code **)(pcVar38 + 0x2854ec);
              } while (*(float *)(iVar16 + iVar19) == 0.0);
              iVar13 = (*pcVar39)(uVar15,pcVar37);
              if (iVar13 == 0) break;
              uVar24 = (int)uVar35 < (int)uVar22 ^ 1;
              if ((int)uVar35 < (int)uVar22 != 0) {
LAB_00124dbc:
                uStack_390 = uVar35 + 1;
                if ((int)uVar22 <= (int)uStack_390) goto LAB_00124a40;
                if (pdVar14 <= pdVar33) goto LAB_001250d8;
                if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {
                  pdVar32[-4] = (double)(int)uStack_390;
                  pdVar32[-3] = (double)iVar50;
                  pdVar32[-2] = (double)(int)(uVar22 - 1);
                  pdVar32[-1] = (double)-iVar44;
                  pdVar33 = pdVar32;
                }
                uVar35 = uVar10;
                if (uVar24 == 0) {
                  iVar13 = puVar6[6];
                  goto LAB_00124a44;
                }
              }
            }
LAB_0012463c:
            uVar10 = uVar35 + 1;
            if ((int)uVar10 <= iVar41) {
              iVar16 = (iVar41 - uVar10) + 1;
              iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar27,uVar10,iVar50,iVar16,1,pcVar37);
              iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar15,uVar10,iVar50,iVar16,1,pcVar37);
              if ((iVar13 != 0) && (uVar49 = 0, iVar16 != 0)) {
                while (uStack_390 = uVar10,
                      *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) ==
                      (float)uVar49) {
                  (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);
                  uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                  uStack_310 = *puVar6;
                  uStack_30c = puVar6[1];
                  uStack_2f8 = puVar6[8];
                  uStack_308 = puVar6[0xaf];
                  dStack_2c8 = dVar45;
                  if (iVar13 == 0) {
LAB_001249ec:
                    pcVar39 = *(code **)(pcVar38 + 0x284f78);
                  }
                  else {
                    iVar19 = puVar6[0xb4];
                    dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);
                    dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);
                    dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);
                    if (*(int *)(iVar19 + 0x28) != 0) {
                      dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);
                    }
                    if (*(int *)(iVar19 + 0x34) != 0) {
                      uStack_308 = 4;
                      dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);
                    }
                    pcVar39 = *(code **)(pcVar38 + 0x284f78);
                    if (*(int *)(iVar19 + 0x40) != 0) {
                      dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);
                      goto LAB_001249ec;
                    }
                  }
                  puVar17 = (undefined *)(*pcVar39)(&uStack_310,param_3);
                  if (puStack_244 != puVar17) break;
                  uVar10 = uVar10 + 1;
                  iVar13 = iVar13 + puVar6[0xb0] * 4;
                  iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;
                  if (iVar41 < (int)uVar10) goto LAB_0012464c;
                }
LAB_00124a40:
                iVar13 = puVar6[6];
LAB_00124a44:
                if (iVar13 <= (int)uVar10) goto LAB_00124a50;
                iVar13 = (**(code **)(pcVar38 + 0x285650))
                                   (uVar27,uVar10,iVar50,iVar13 - uVar10,1,pcVar37);
                iVar16 = (**(code **)(pcVar38 + 0x285640))
                                   (uVar15,uVar10,iVar50,puVar6[6] - uVar10,1,pcVar37);
                puVar17 = puStack_244;
                if ((iVar13 != 0) && (iVar16 != 0)) {
                  pcVar39 = *(code **)(pcVar38 + 0x2854ec);
                  if (((int)uVar10 < (int)puVar6[6]) &&
                     (uVar49 = 0,
                     *(float *)(iVar16 + *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4) == 0.0)) {
                    do {
                      (**(code **)(pcVar38 + 0x284fe8))(&uStack_310,0,0x58);
                      uStack_300 = *(undefined8 *)(puVar6 + 0x92);
                      uStack_310 = *puVar6;
                      uStack_30c = puVar6[1];
                      uStack_2f8 = puVar6[8];
                      uStack_308 = puVar6[0xaf];
                      dStack_2c8 = dVar40;
                      if (iVar13 == 0) {
LAB_00124d38:
                        pcVar39 = *(code **)(pcVar38 + 0x284f78);
                      }
                      else {
                        iVar19 = puVar6[0xb4];
                        dStack_2e8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 8) * 4);
                        dStack_2e0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x14) * 4);
                        dStack_2d8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x20) * 4);
                        if (*(int *)(iVar19 + 0x28) != 0) {
                          dStack_2d0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x2c) * 4);
                        }
                        if (*(int *)(iVar19 + 0x34) != 0) {
                          uStack_308 = 4;
                          dStack_2c8 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x38) * 4);
                        }
                        pcVar39 = *(code **)(pcVar38 + 0x284f78);
                        if (*(int *)(iVar19 + 0x40) != 0) {
                          dStack_2c0 = (double)*(float *)(iVar13 + *(int *)(iVar19 + 0x44) * 4);
                          goto LAB_00124d38;
                        }
                      }
                      puVar7 = (undefined *)(*pcVar39)(&uStack_310,param_3);
                      if (puVar17 == puVar7) goto LAB_00124d50;
                      uVar10 = uVar10 + 1;
                      iVar25 = puVar6[6];
                      iVar13 = iVar13 + puVar6[0xb0] * 4;
                      iVar19 = *(int *)(*(int *)(iVar4 + 0x2d0) + 8) * 4;
                      puVar36 = (undefined4 *)(iVar16 + iVar19);
                      iVar16 = iVar16 + *(int *)(iVar4 + 0x2c0) * 4;
                      *puVar36 = (int)uVar46;
                      if ((iVar25 <= (int)uVar10) || (*(float *)(iVar16 + iVar19) != (float)uVar49))
                      goto LAB_00124d50;
                    } while( true );
                  }
                  goto LAB_00124d60;
                }
              }
            }
LAB_0012464c:
            pdVar32 = pdVar33;
          } while (pdVar12 < pdVar33);
        }
LAB_0012465c:
        if (0 < (int)puVar6[7]) {
          iVar50 = 0;
          uVar46 = (ulonglong)*(uint *)(*(int *)(pcVar38 + 0x2848d4) + 0x1a50);
          dVar40 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x13f8);
          dVar47 = *(double *)(*(int *)(pcVar38 + 0x2848d4) + 0x1440);
          do {
            iVar13 = (**(code **)(pcVar38 + 0x285650))(uVar15,0,iVar50,puVar6[6],1,pcVar37);
            iVar16 = (**(code **)(pcVar38 + 0x285640))(uVar27,0,iVar50,puVar6[6],1,pcVar37);
            if ((iVar13 == 0) || (iVar16 == 0)) {
LAB_00124f5c:
              iVar50 = 0;
              goto LAB_00124f60;
            }
            iVar41 = puVar6[6];
            iVar43 = 0;
            if (0 < iVar41) {
              iVar44 = *(int *)(iVar4 + 0x2d0);
              while( true ) {
                if (*(float *)(iVar13 + *(int *)(iVar44 + 8) * 4) != 0.0) {
                  iVar44 = *(int *)(param_2 + 0x1a8);
                  if (iVar44 == 0) {
                    piVar51 = (int *)(param_2 + 0x48);
                    piVar2 = aiStack_368;
                    do {
                      piVar20 = piVar2;
                      piVar18 = piVar51;
                      piVar51 = piVar18 + 4;
                      iVar25 = piVar18[2];
                      iVar44 = piVar18[3];
                      iVar19 = *piVar18;
                      piVar20[1] = piVar18[1];
                      piVar20[2] = iVar25;
                      *piVar20 = iVar19;
                      piVar20[3] = iVar44;
                      piVar2 = piVar20 + 4;
                    } while (piVar51 != (int *)(param_2 + 0x98));
                    iVar44 = *piVar51;
                    piVar20[5] = piVar18[5];
                    piVar20[4] = iVar44;
                  }
                  else {
                    (**(code **)(pcVar38 + 0x285410))
                              (iVar44,6,iVar43 + *(int *)(iVar44 + 0x298),
                               iVar50 + *(int *)(iVar44 + 0x29c),aiStack_368,pcVar37);
                    if (dVar40 <= ABS(*(double *)(param_2 + 0x398))) {
                      iVar41 = puVar6[6];
                      dStack_320 = dStack_320 * *(double *)(param_2 + 0x398) * dVar47;
                    }
                    else {
                      iVar41 = puVar6[6];
                    }
                  }
                  iVar44 = puVar6[0xb4];
                  iVar25 = *(int *)(iVar44 + 0x14);
                  iVar19 = *(int *)(iVar44 + 0x20);
                  iVar26 = *(int *)(iVar44 + 0x28);
                  *(float *)(iVar16 + *(int *)(iVar44 + 8) * 4) = (float)dStack_340;
                  *(float *)(iVar16 + iVar25 * 4) = (float)dStack_338;
                  *(float *)(iVar16 + iVar19 * 4) = (float)dStack_330;
                  if (iVar26 != 0) {
                    *(float *)(iVar16 + *(int *)(iVar44 + 0x2c) * 4) = (float)dStack_328;
                  }
                  if (*(int *)(iVar44 + 0x34) != 0) {
                    fVar42 = (float)uVar46;
                    if (aiStack_368[2] != 0) {
                      fVar42 = (float)dStack_320;
                    }
                    *(float *)(iVar16 + *(int *)(iVar44 + 0x38) * 4) = fVar42;
                  }
                }
                iVar43 = iVar43 + 1;
                iVar13 = iVar13 + *(int *)(iVar4 + 0x2c0) * 4;
                iVar16 = iVar16 + puVar6[0xb0] * 4;
                if (iVar41 <= iVar43) break;
                iVar44 = *(int *)(iVar4 + 0x2d0);
              }
            }
            iVar50 = iVar50 + 1;
            iVar13 = (**(code **)(pcVar38 + 0x2854ec))(uVar27,pcVar37);
            if (iVar13 == 0) goto LAB_00124f5c;
          } while (iVar50 < (int)puVar6[7]);
        }
        iVar50 = 1;
LAB_00124f60:
        (**(code **)(pcVar38 + 0x284ee8))(uVar15);
        (**(code **)(pcVar38 + 0x284ee8))(uVar27);
        (**(code **)(pcVar38 + 0x28538c))(iVar5);
        (**(code **)(pcVar38 + 0x284f40))(iVar4);
        goto LAB_001240ec;
      }
      goto LAB_00125064;
    }
  }
  else {
    (**(code **)(pcVar38 + 0x2855fc))
              (*(int *)(pcVar38 + 0x2848dc) + -0x3784,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xaa,
               *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);
LAB_00125064:
    (**(code **)(pcVar38 + 0x2855fc))
              (*(int *)(pcVar38 + 0x2848d4) + 0x1158,*(int *)(pcVar38 + 0x2848d8) + 0x29e0);
  }
  (**(code **)(pcVar38 + 0x2855fc))
            (*(int *)(pcVar38 + 0x2848d4) + 0x1114,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xad,
             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);
  puVar21 = puVar6;
LAB_001250a8:
  puVar6 = puVar21;
  (**(code **)(pcVar38 + 0x2855fc))
            (*(int *)(pcVar38 + 0x2848d4) + 0xdd0,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,0xa9,
             *(int *)(pcVar38 + 0x2848d8) + 0x2cc8);
  do {
    (**(code **)(pcVar38 + 0x285058))();
LAB_001250d8:
    puVar6 = puVar6 + 0xd0;
    uVar27 = 0x107;
LAB_00124ee4:
    (**(code **)(pcVar38 + 0x284f14))
              (pcVar37,*(int *)(pcVar38 + 0x2848d8) + 0x29e0,*(int *)(pcVar38 + 0x2848d8) + 0x2cb4,
               uVar27,0x1cc,*(int *)(pcVar38 + 0x2848d8) + 0x2a40,
               *(int *)(pcVar38 + 0x2848d4) + 0x3e28,puVar6);
LAB_001240e8:
    iVar50 = 0;
LAB_001240ec:
  } while (iStack_2b4 != *piVar34);
  return iVar50;
LAB_00124d50:
  pcVar39 = *(code **)(pcVar38 + 0x2854ec);
LAB_00124d60:
  iVar13 = (*pcVar39)(uVar15,pcVar37);
  if (iVar13 == 0) goto LAB_0012464c;
LAB_00124a50:
  if (pdVar14 <= pdVar33) {
    puVar6 = puVar6 + 0xd0;
    uVar27 = 0x125;
    goto LAB_00124ee4;
  }
  iVar13 = iVar41 + 1;
  uVar35 = uVar10;
  if ((iVar44 + iVar50 < 0) || ((int)puVar6[7] <= iVar44 + iVar50)) {
    if ((int)uVar10 <= iVar13) goto LAB_0012463c;
  }
  else {
    pdVar32 = pdVar33 + 4;
    *pdVar33 = (double)(int)uStack_390;
    pdVar33[3] = (double)iVar44;
    pdVar33[2] = (double)(int)(uVar10 - 1);
    pdVar33[1] = (double)iVar50;
    pdVar33 = pdVar32;
    if ((int)uVar10 <= iVar13) goto LAB_0012463c;
    if (pdVar14 <= pdVar32) {
      puVar6 = puVar6 + 0xd0;
      uVar27 = 0x127;
      goto LAB_00124ee4;
    }
  }
  if ((-1 < iVar43) && (iVar43 < (int)puVar6[7])) {
    *pdVar33 = (double)iVar13;
    pdVar33[2] = (double)(int)(uVar10 - 1);
    pdVar33[1] = (double)iVar50;
    pdVar33[3] = (double)-iVar44;
    pdVar33 = pdVar33 + 4;
  }
  goto LAB_0012463c;
}

