
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

MagickBooleanType
LevelizeImage(Image *image,double black_point,double white_point,double gamma,
             ExceptionInfo *exception)

{
  bool bVar1;
  int iVar2;
  size_t sVar3;
  PixelChannelMap *pPVar4;
  MagickBooleanType MVar5;
  undefined4 uVar6;
  double *pdVar7;
  int iVar8;
  double *pdVar9;
  float *pfVar10;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  uint uVar11;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  int extraout_v1_09;
  int extraout_v1_10;
  int extraout_v1_11;
  size_t sVar12;
  undefined *puVar13;
  int *piVar14;
  int *piVar15;
  undefined *puVar16;
  double *pdVar17;
  float *pfVar18;
  undefined4 in_a2;
  undefined4 in_a3;
  undefined *puVar19;
  int iVar20;
  int iVar21;
  int iVar22;
  int iVar23;
  int iVar24;
  undefined *puVar25;
  int iVar26;
  int *piVar27;
  int unaff_s3;
  MagickBooleanType MVar28;
  int *unaff_s5;
  int *piVar29;
  int unaff_s6;
  int *unaff_s7;
  undefined *puVar30;
  code *pcVar31;
  code *pcVar32;
  int unaff_s8;
  int iVar33;
  double dVar34;
  double dVar35;
  float fVar36;
  double dVar37;
  double dVar38;
  double dVar39;
  ulonglong uVar40;
  double dVar41;
  undefined8 uVar42;
  undefined8 in_stack_00000018;
  MagickBooleanType in_stack_00000020;
  int iStack_328;
  uint uStack_324;
  int *piStack_320;
  int iStack_31c;
  undefined4 uStack_318;
  MagickBooleanType MStack_314;
  int *piStack_310;
  int iStack_30c;
  undefined *puStack_308;
  int *piStack_304;
  double *pdStack_300;
  int iStack_2fc;
  double *pdStack_2f8;
  int *piStack_2f4;
  int iStack_2f0;
  int *piStack_2ec;
  int iStack_2e8;
  code *pcStack_2e4;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  undefined8 uStack_2b8;
  double *pdStack_2b0;
  double *pdStack_2ac;
  double *pdStack_2a8;
  code *pcStack_2a0;
  int iStack_298;
  uint uStack_294;
  undefined8 *puStack_290;
  undefined8 *puStack_28c;
  undefined8 *puStack_288;
  double *pdStack_284;
  int iStack_280;
  int iStack_27c;
  double dStack_278;
  double dStack_270;
  undefined8 uStack_268;
  undefined8 uStack_260;
  undefined8 uStack_258;
  double dStack_250;
  double dStack_248;
  double dStack_240;
  double dStack_238;
  double dStack_230;
  double dStack_218;
  double dStack_210;
  double dStack_208;
  int *piStack_200;
  int iStack_1fc;
  undefined4 uStack_1f8;
  int iStack_1f4;
  undefined *puStack_1f0;
  double *pdStack_1ec;
  int *piStack_1e4;
  undefined *puStack_1e0;
  MagickBooleanType MStack_1dc;
  double *pdStack_1d8;
  int iStack_1d4;
  double *pdStack_1d0;
  double dStack_f0;
  double *pdStack_e8;
  double *local_a0;
  MagickOffsetType progress;
  undefined local_88 [8];
  double local_80;
  Image *local_70;
  int local_68;
  MagickBooleanType local_64;
  MagickOffsetType *local_60;
  undefined *local_54;
  
  puVar25 = PTR___stack_chk_guard_003a9230;
  dVar37 = (double)CONCAT44(in_a2,in_a3);
  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;
  if (image == (Image *)0x0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,
               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);
LAB_000cc830:
    iVar2 = 0xc0b;
    puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;
    puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060;
    puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;
    (*(code *)PTR___assert_fail_003a9608)();
  }
  else {
    if (image->signature != 0xabacadab) goto LAB_000cc830;
    if (image->debug != MagickFalse) {
      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,
                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);
    }
    if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {
      iVar2 = 0;
      iVar20 = 0;
      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);
      unaff_s7 = SUB84(dVar35,0);
      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);
      dVar39 = dVar35;
      dVar38 = dVar35;
      dVar41 = dVar35;
      do {
        pPVar4 = image->channel_map;
        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {
          iVar26 = (int)&image->colormap->storage_class + iVar2;
          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;
          if (0.0 <= dVar34) {
            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);
            pPVar4 = image->channel_map;
            iVar26 = (int)&image->colormap->storage_class + iVar2;
          }
          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);
        }
        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {
          iVar26 = (int)&image->colormap->storage_class + iVar2;
          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;
          if (0.0 <= dVar34) {
            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);
            pPVar4 = image->channel_map;
            iVar26 = (int)&image->colormap->storage_class + iVar2;
          }
          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);
        }
        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {
          iVar26 = (int)&image->colormap->storage_class + iVar2;
          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;
          if (0.0 <= dVar34) {
            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);
            pPVar4 = image->channel_map;
            iVar26 = (int)&image->colormap->storage_class + iVar2;
          }
          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);
        }
        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {
          iVar26 = (int)&image->colormap->storage_class + iVar2;
          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;
          if (0.0 <= dVar34) {
            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);
            iVar26 = (int)&image->colormap->storage_class + iVar2;
          }
          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);
        }
        iVar20 = iVar20 + 1;
        iVar2 = iVar2 + 0x58;
      } while (iVar20 < (int)image->colors);
    }
    progress._4_4_ = 0;
    progress._0_4_ = 0;
    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);
    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);
    if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)
        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||
              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      sVar3 = image->rows;
      sVar12 = sVar3;
      if ((int)sVar3 < 0) {
        sVar12 = sVar3 + 0x3f;
      }
      if (extraout_v1 < (int)sVar12 >> 6) {
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        bVar1 = extraout_v1_02 < 2;
      }
      else {
        bVar1 = (int)sVar3 < 0x80;
      }
      iVar2 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        sVar12 = image->rows;
        if ((int)sVar12 < 0) {
          sVar12 = sVar12 + 0x3f;
        }
        iVar2 = (int)sVar12 >> 6;
        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;
      }
    }
    else {
      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {
        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {
          iVar2 = 1;
          goto LAB_000cc440;
        }
      }
      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {
LAB_000cc7ac:
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar2 = extraout_v1_00;
      }
      else {
        iVar2 = 2;
      }
    }
LAB_000cc440:
    puVar19 = (undefined *)0x0;
    local_64 = MagickTrue;
    local_60 = &progress;
    puVar16 = local_88;
    local_80 = gamma;
    local_70 = image;
    local_68 = unaff_s3;
    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);
    in_stack_00000020 = local_64;
    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);
    puVar13 = local_54;
    if (local_54 == *(undefined **)puVar25) {
      return in_stack_00000020;
    }
  }
  puVar30 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (puVar13 != (undefined *)0x0) {
    if (*(int *)(puVar13 + 0x336c) == -0x54535255) {
      if (*(int *)(puVar13 + 0x3350) != 0) {
        (**(code **)(puVar30 + 0x2dc980))
                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,
                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);
      }
      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {
        if ((*(int *)(puVar16 + 4) == 0x21) ||
           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {
          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;
          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);
          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;
          iVar2 = *(int *)(puVar13 + 0x2d0);
          goto LAB_000cc8dc;
        }
LAB_000cc988:
        (*pcVar31)(puVar13,0x17,local_a0);
        iVar2 = *(int *)(puVar13 + 0x2d0);
        uVar11 = *(uint *)(iVar2 + 4);
      }
      else {
LAB_000cc8d8:
        iVar2 = *(int *)(puVar13 + 0x2d0);
LAB_000cc8dc:
        uVar11 = *(uint *)(iVar2 + 4);
      }
      if (puVar19 != (undefined *)0x0) {
        if ((uVar11 & 2) == 0) {
          MVar28 = MagickTrue;
        }
        else {
          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);
          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);
          MVar28 = MVar28 & MagickTrue;
          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
          iVar2 = *(int *)(puVar13 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {
          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);
          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);
          MVar28 = MVar28 & MVar5;
          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
          iVar2 = *(int *)(puVar13 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {
          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);
          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);
          MVar28 = MVar28 & MVar5;
          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
          iVar2 = *(int *)(puVar13 + 0x2d0);
        }
        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {
          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);
          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);
          MVar28 = MVar28 & MVar5;
          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
          iVar2 = *(int *)(puVar13 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {
          return MVar28;
        }
        if (*(int *)(puVar13 + 700) == 0) {
          return MVar28;
        }
        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);
        pcVar31 = *(code **)(puVar30 + 0x2dc848);
        goto LAB_000cca38;
      }
      pcVar31 = *(code **)(puVar30 + 0x2dcd30);
      if ((uVar11 & 2) == 0) {
        MVar28 = MagickTrue;
        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;
LAB_000cc900:
        pcVar31 = *(code **)(puVar30 + 0x2dcd30);
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;
      }
      else {
        uVar6 = (*pcVar31)(puVar13,1);
        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);
        MVar28 = MVar28 & MagickTrue;
        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
        iVar2 = *(int *)(puVar13 + 0x2d0);
        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;
        pcVar31 = *(code **)(puVar30 + 0x2dcd30);
LAB_000ccc54:
        uVar6 = (*pcVar31)(puVar13,2);
        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);
        MVar28 = MVar28 & MVar5;
        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
        iVar2 = *(int *)(puVar13 + 0x2d0);
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {
          pcVar31 = *(code **)(puVar30 + 0x2dcd30);
LAB_000cccc4:
          uVar6 = (*pcVar31)(puVar13,4);
          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);
          MVar28 = MVar28 & MVar5;
          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
          iVar2 = *(int *)(puVar13 + 0x2d0);
        }
      }
      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {
        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);
        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);
        MVar28 = MVar28 & MVar5;
        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
        iVar2 = *(int *)(puVar13 + 0x2d0);
      }
      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {
        return MVar28;
      }
      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);
      pcVar31 = *(code **)(puVar30 + 0x2dca10);
LAB_000cca38:
      MVar5 = (*pcVar31)(puVar13);
      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);
      return MVar28 & MVar5;
    }
    (**(code **)(puVar30 + 0x2dcda8))
              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,
               *(int *)(puVar30 + 0x2dc088) + 0x545c);
    puVar25 = puVar13;
  }
  uVar6 = 0xc92;
  pcVar31 = *(code **)(puVar30 + 0x2dcda8);
  iVar20 = *(int *)(puVar30 + 0x2dc088) + 0x545c;
  iVar2 = *(int *)(puVar30 + 0x2dc080) + 0xdd0;
  (*pcVar31)(iVar2,*(int *)(puVar30 + 0x2dc088) + 0x5060);
  dVar39 = (double)CONCAT44(uVar6,iVar20);
  if (iVar2 != 0) {
    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {
      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);
      if (pdVar7 == (double *)0x0) {
        (**(code **)(pcVar31 + 0x2dc084))
                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,
                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);
        MVar28 = MagickFalse;
      }
      else {
        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);
        pdVar17 = pdVar7 + 0xffff;
        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);
        if (0 < *(int *)(iVar2 + 0x1c)) {
          iVar26 = 0;
          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);
          iVar20 = *(int *)(iVar2 + 0x18);
          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);
          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);
          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);
          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);
          do {
            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);
            if (iVar8 == 0) break;
            iVar20 = *(int *)(iVar2 + 0x18);
            if (0 < iVar20) {
              iVar33 = 0;
              do {
                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);
                fVar36 = (float)dVar35;
                pdVar9 = pdVar17;
                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {
                  dVar35 = (double)fVar36 + dVar41;
                  if (dVar38 <= dVar35) {
                    dVar35 = dVar35 - dVar38;
                  }
                  pdVar9 = pdVar7 + (int)dVar35;
                }
                iVar33 = iVar33 + 1;
                iVar20 = *(int *)(iVar2 + 0x18);
                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;
                *pdVar9 = *pdVar9 + dVar37;
              } while (iVar33 < iVar20);
            }
            iVar26 = iVar26 + 1;
            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);
          } while (iVar26 < *(int *)(iVar2 + 0x1c));
        }
        iVar20 = 0;
        (**(code **)(pcVar31 + 0x2dc058))(uVar6);
        dVar37 = 0.0;
        pdVar9 = pdVar7;
        do {
          dVar37 = dVar37 + *pdVar9;
          iVar20 = iVar20 + 1;
          if (dVar39 <= dVar37) break;
          pdVar9 = pdVar9 + 1;
        } while (iVar20 != 0xffff);
        iVar20 = 0xffff;
        dVar37 = 0.0;
        do {
          dVar37 = dVar37 + *pdVar17;
          iVar20 = iVar20 + -1;
          if (dStack_f0 <= dVar37) {
            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);
            goto LAB_000cd170;
          }
          pdVar17 = pdVar17 + -1;
        } while (iVar20 != 0);
        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);
LAB_000cd170:
        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);
      }
      return MVar28;
    }
    (**(code **)(pcVar31 + 0x2dc76c))
              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,
               *(int *)(pcVar31 + 0x2dba4c) + 0x5434);
    unaff_s6 = iVar2;
  }
  iVar2 = 0xd24;
  pcVar32 = *(code **)(pcVar31 + 0x2dc76c);
  pdVar7 = (double *)(*(int *)(pcVar31 + 0x2dba4c) + 0x5060);
  piVar14 = (int *)(*(int *)(pcVar31 + 0x2dba44) + 0xdd0);
  (*pcVar32)();
  pcVar31 = pcVar32 + 0x2e35c0;
  piVar27 = *(int **)(pcVar32 + 0x2dbf40);
  pdStack_1d0 = pdStack_e8;
  pdStack_1d8 = local_a0;
  piStack_1e4 = (int *)*piVar27;
  pcStack_2a0 = pcVar31;
  puStack_1e0 = puVar25;
  MStack_1dc = in_stack_00000020;
  iStack_1d4 = unaff_s3;
  if (piVar14 == (int *)0x0) {
LAB_000cddd8:
    iVar20 = 0xe4d;
    pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);
    piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0);
    (**(code **)(pcVar32 + 0x2dc318))();
  }
  else {
    unaff_s7 = piVar14;
    if (piVar14[0xcdb] != -0x54535255) {
      (**(code **)(pcVar32 + 0x2dc318))
                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,
                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);
      goto LAB_000cddd8;
    }
    if (piVar14[0xcd4] == 0) {
      pdVar17 = pdVar7;
      iVar20 = iVar2;
      if (pdVar7 == (double *)0x0) goto LAB_000cd570;
LAB_000cd380:
      if ((0x1e < piVar14[1] - 3U) ||
         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {
        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);
      }
      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);
      gamma = dStack_238;
      if ((uVar11 & 8) == 0) {
        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
      }
      dVar37 = dStack_230;
      if ((uVar11 & 1) == 0) {
        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
      }
      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))
                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);
      if (iVar20 == 0) {
        iStack_298 = 0;
        dVar39 = dStack_240;
      }
      else {
        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);
        dVar39 = dStack_240;
      }
      if ((*piVar14 == 2) && (0 < piVar14[9])) {
        unaff_s8 = 0;
        unaff_s6 = 0;
        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);
        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);
        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
        uStack_294 = iStack_298 - 4;
        pdStack_284 = &dStack_250;
        puStack_290 = &uStack_268;
        puStack_28c = &uStack_260;
        dVar41 = *(double *)(iStack_280 + -0x39f0);
        iVar20 = piVar14[10];
        puStack_288 = &uStack_258;
        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);
        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);
        dStack_270 = dVar38;
        do {
          iVar20 = iVar20 + unaff_s8;
          uStack_258 = *(undefined8 *)(iVar20 + 0x28);
          uStack_260 = *(undefined8 *)(iVar20 + 0x30);
          uStack_268 = *(undefined8 *)(iVar20 + 0x38);
          if (uStack_294 < 0xb) {
                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            MVar28 = (*(pcStack_2a0 + *unaff_s5))();
            return MVar28;
          }
          pdStack_2b0 = pdStack_284;
          uStack_2b8 = (double)uStack_268;
          pdStack_2ac = &dStack_218;
          pdStack_2a8 = &dStack_248;
          (**(code **)(pcStack_2a0 + -0x7b7c))();
          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);
          pdStack_2a8 = (double *)puStack_290;
          pdStack_2ac = (double *)puStack_28c;
          pdStack_2b0 = (double *)puStack_288;
          dStack_250 = dVar35 / dVar41 + dStack_250;
          dStack_218 = gamma * dVar38 * dStack_218;
          uStack_2b8 = dVar39 * dVar38 * dStack_248;
          dStack_248 = uStack_2b8;
          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);
          unaff_s6 = unaff_s6 + 1;
          iVar20 = piVar14[10];
          iVar26 = piVar14[9];
          iVar8 = iVar20 + unaff_s8;
          unaff_s8 = unaff_s8 + 0x58;
          *(undefined8 *)(iVar8 + 0x28) = uStack_258;
          *(undefined8 *)(iVar8 + 0x30) = uStack_260;
          *(undefined8 *)(iVar8 + 0x38) = uStack_268;
        } while (unaff_s6 < iVar26);
        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);
      }
      else {
        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);
      }
      local_a0 = &dStack_218;
      pdStack_e8 = &dStack_248;
      dStack_248 = 0.0;
      uVar6 = (*pcVar31)(piVar14,iVar2);
      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);
      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))
         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||
             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {
        (**(code **)(pcStack_2a0 + -0x7774))(7);
        iVar26 = piVar14[7];
        iVar20 = iVar26;
        if (iVar26 < 0) {
          iVar20 = iVar26 + 0x3f;
        }
        if (extraout_v1_04 < iVar20 >> 6) {
          (**(code **)(pcStack_2a0 + -0x7774))(7);
          bVar1 = extraout_v1_06 < 2;
        }
        else {
          bVar1 = iVar26 < 0x80;
        }
        iVar20 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcStack_2a0 + -0x7774))(7);
          iVar20 = piVar14[7];
          if (iVar20 < 0) {
            iVar20 = iVar20 + 0x3f;
          }
          iVar20 = iVar20 >> 6;
          if (extraout_v1_05 < iVar20) {
            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);
            goto LAB_000cdc0c;
          }
        }
      }
      else {
        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);
        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {
          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);
          if ((uint)uVar42 < 2) {
            uVar42 = (*pcVar31)(7);
            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;
            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);
            if ((uint)uVar42 < 2) {
              iVar20 = 1;
              goto LAB_000cd4d8;
            }
          }
        }
        else {
LAB_000cd4bc:
          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);
        }
        uVar42 = (*pcVar31)(7);
        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&
           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {
LAB_000cdc0c:
          (*pcVar31)(7);
          iVar20 = extraout_v1_03;
        }
        else {
          iVar20 = 2;
        }
      }
LAB_000cd4d8:
      iStack_1f4 = iStack_298;
      puStack_1f0 = (undefined *)0x1;
      pdVar17 = local_a0;
      dStack_210 = dVar37;
      dStack_208 = gamma;
      piStack_200 = piVar14;
      iStack_1fc = iVar2;
      uStack_1f8 = uVar6;
      pdStack_1ec = pdStack_e8;
      (**(code **)(pcStack_2a0 + -0x7718))
                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);
      puVar25 = puStack_1f0;
      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);
    }
    else {
      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;
      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);
      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);
      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);
      if (pdVar7 != (double *)0x0) goto LAB_000cd380;
LAB_000cd570:
      puVar25 = (undefined *)0x0;
    }
    piVar14 = piStack_1e4;
    unaff_s3 = iVar2;
    pcVar31 = pcStack_2a0;
    if (piStack_1e4 == (int *)*piVar27) {
      return (MagickBooleanType)puVar25;
    }
  }
  pcVar31 = *(code **)(pcVar31 + -0x784c);
  pcVar32 = NegateImage;
  (*pcVar31)();
  piVar29 = *(int **)(pcVar31 + 0x2db428);
  iStack_30c = *piVar29;
  puStack_308 = puVar25;
  piStack_304 = piVar27;
  pdStack_300 = local_a0;
  iStack_2fc = unaff_s3;
  pdStack_2f8 = pdStack_e8;
  piStack_2f4 = unaff_s5;
  iStack_2f0 = unaff_s6;
  piStack_2ec = unaff_s7;
  iStack_2e8 = unaff_s8;
  pcStack_2e4 = pcVar32;
  dStack_2e0 = dVar37;
  dStack_2d8 = gamma;
  dStack_2d0 = dVar39;
  if (piVar14 == (int *)0x0) goto LAB_000ce444;
  if (piVar14[0xcdb] == -0x54535255) {
    if (piVar14[0xcd4] != 0) {
      (**(code **)(pcVar31 + 0x2db3d8))
                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,
                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);
    }
    if (*piVar14 == 2) {
      iVar2 = piVar14[9];
      if (iVar2 < 1) goto LAB_000cde94;
      iVar26 = 0;
      iVar8 = 0;
      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);
      do {
        if (pdVar17 == (double *)0x0) {
LAB_000ce184:
          iVar33 = piVar14[0xb4];
          if ((*(uint *)(iVar33 + 4) & 2) != 0) {
            *(double *)(piVar14[10] + iVar26 + 0x28) =
                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);
          }
          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {
            *(double *)(piVar14[10] + iVar26 + 0x30) =
                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);
          }
          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {
            *(double *)(piVar14[10] + iVar26 + 0x38) =
                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);
          }
        }
        else {
          iVar33 = piVar14[10] + iVar26;
          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&
             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;
        }
        iVar8 = iVar8 + 1;
        iVar26 = iVar26 + 0x58;
      } while (iVar8 != iVar2);
      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);
    }
    else {
LAB_000cde94:
      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);
    }
    uStack_324 = 0;
    iStack_328 = 0;
    uVar6 = (*pcVar32)(piVar14,iVar20);
    if (pdVar17 == (double *)0x0) {
      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);
      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&
         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||
          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {
        (**(code **)(pcVar31 + 0x2db334))(7);
        iVar26 = piVar14[7];
        iVar2 = iVar26;
        if (iVar26 < 0) {
          iVar2 = iVar26 + 0x3f;
        }
        if (extraout_v1_07 < iVar2 >> 6) {
          (**(code **)(pcVar31 + 0x2db334))(7);
          bVar1 = extraout_v1_11 < 2;
        }
        else {
          bVar1 = iVar26 < 0x80;
        }
        iVar2 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar31 + 0x2db334))(7);
          iVar2 = piVar14[7];
          if (iVar2 < 0) {
            iVar2 = iVar2 + 0x3f;
          }
          iVar2 = iVar2 >> 6;
          if (extraout_v1_08 < iVar2) {
            (**(code **)(pcVar31 + 0x2db334))(7);
            iVar2 = extraout_v1_10;
          }
        }
      }
      else {
        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);
        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {
          pcVar32 = *(code **)(pcVar31 + 0x2db334);
          if ((uint)uVar42 < 2) {
            uVar42 = (*pcVar32)(7);
            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;
            pcVar32 = *(code **)(pcVar31 + 0x2db334);
            if ((uint)uVar42 < 2) {
              iVar2 = 1;
              goto LAB_000ce2a0;
            }
          }
        }
        else {
LAB_000ce288:
          pcVar32 = *(code **)(pcVar31 + 0x2db334);
        }
        uVar42 = (*pcVar32)(7);
        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {
          (**(code **)(pcVar31 + 0x2db334))(7);
          iVar2 = extraout_v1_09;
        }
        else {
          iVar2 = 2;
        }
      }
LAB_000ce2a0:
      MStack_314 = MagickTrue;
      piStack_310 = &iStack_328;
      piStack_320 = piVar14;
      iStack_31c = iVar20;
      uStack_318 = uVar6;
      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);
      MVar28 = MStack_314;
      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);
    }
    else {
      if (0 < piVar14[7]) {
        iVar8 = 0;
        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);
        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);
        iVar2 = *(int *)(pcVar31 + 0x2daae0);
        iVar26 = piVar14[6];
        dVar37 = dVar39;
        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),
              pfVar10 != (float *)0x0) {
          iVar33 = piVar14[6];
          iVar26 = 0;
          if (0 < iVar33) {
            iVar24 = piVar14[0xb0];
            piVar27 = (int *)piVar14[0xb4];
            iVar22 = piVar27[2];
            iVar21 = piVar27[5];
            iVar23 = piVar27[8];
            do {
              while( true ) {
                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];
                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);
                if (dVar38 < 0.0) {
                  uVar11 = uVar11 ^ 0x80000000;
                }
                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;
LAB_000cdf68:
                iVar26 = iVar26 + 1;
                pfVar10 = pfVar10 + iVar24;
                if (iVar26 == iVar33) goto LAB_000ce048;
              }
              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];
              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);
              if (dVar38 < 0.0) {
                uVar11 = uVar11 ^ 0x80000000;
              }
              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||
                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;
              do {
                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {
                  *pfVar18 = (float)uVar40 - *pfVar18;
                }
                piVar15 = piVar15 + 3;
                pfVar18 = pfVar18 + 1;
              } while (piVar15 != piVar27 + iVar24 * 3);
              iVar26 = iVar26 + 1;
              pfVar10 = pfVar10 + iVar24;
            } while (iVar26 != iVar33);
          }
LAB_000ce048:
          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);
          if (piVar14[0xca] != 0) {
            uVar11 = uStack_324 + 1;
            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;
            uStack_324 = uVar11;
            iVar33 = (**(code **)(pcVar31 + 0x2daeac))
                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);
            if (iVar33 == 0) break;
          }
          iVar8 = iVar8 + 1;
          if (piVar14[7] <= iVar8) break;
          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);
          if (iVar26 == 0) goto LAB_000ce0b0;
          iVar26 = piVar14[6];
        }
      }
      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);
LAB_000ce0b0:
      MVar28 = MagickTrue;
      (*pcVar32)(uVar6);
    }
    if (iStack_30c == *piVar29) {
      return MVar28;
    }
    (**(code **)(pcVar31 + 0x2db25c))();
  }
  (**(code **)(pcVar31 + 0x2db800))
            (*(int *)(pcVar31 + 0x2daae0) + -0x3784,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf57,
             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);
LAB_000ce444:
  pcVar32 = *(code **)(pcVar31 + 0x2db800);
  (*pcVar32)(*(int *)(pcVar31 + 0x2daad8) + 0xdd0,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf56,
             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);
  MVar28 = (**(code **)(pcVar32 + 0x2dad50))();
  return MVar28;
}



undefined *
LevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,
             undefined8 param_6,undefined *param_7)

{
  bool bVar1;
  int iVar2;
  undefined4 uVar3;
  double *pdVar4;
  int iVar5;
  double *pdVar6;
  float *pfVar7;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  uint uVar8;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  int extraout_v1_09;
  int extraout_v1_10;
  int extraout_v1_11;
  undefined *puVar9;
  int *piVar10;
  int *piVar11;
  double *pdVar12;
  float *pfVar13;
  undefined *puVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  int iVar20;
  int *piVar21;
  int unaff_s3;
  undefined *puVar22;
  int *unaff_s5;
  int *piVar23;
  int unaff_s6;
  int *unaff_s7;
  undefined *puVar24;
  code *pcVar25;
  code *pcVar26;
  int unaff_s8;
  int iVar27;
  double dVar28;
  double dVar29;
  float fVar30;
  double dVar31;
  double dVar32;
  double dVar33;
  ulonglong uVar34;
  double dVar35;
  undefined8 uVar36;
  int iStack_328;
  uint uStack_324;
  int *piStack_320;
  int iStack_31c;
  undefined4 uStack_318;
  undefined *puStack_314;
  int *piStack_310;
  int iStack_30c;
  undefined *puStack_308;
  int *piStack_304;
  double *pdStack_300;
  int iStack_2fc;
  double *pdStack_2f8;
  int *piStack_2f4;
  int iStack_2f0;
  int *piStack_2ec;
  int iStack_2e8;
  code *pcStack_2e4;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  undefined8 uStack_2b8;
  double *pdStack_2b0;
  double *pdStack_2ac;
  double *pdStack_2a8;
  code *pcStack_2a0;
  int iStack_298;
  uint uStack_294;
  undefined8 *puStack_290;
  undefined8 *puStack_28c;
  undefined8 *puStack_288;
  double *pdStack_284;
  int iStack_280;
  int iStack_27c;
  double dStack_278;
  double dStack_270;
  undefined8 uStack_268;
  undefined8 uStack_260;
  undefined8 uStack_258;
  double dStack_250;
  double dStack_248;
  double dStack_240;
  double dStack_238;
  double dStack_230;
  double dStack_218;
  double dStack_210;
  double dStack_208;
  int *piStack_200;
  int iStack_1fc;
  undefined4 uStack_1f8;
  int iStack_1f4;
  undefined *puStack_1f0;
  double *pdStack_1ec;
  int *piStack_1e4;
  undefined *puStack_1e0;
  undefined *puStack_1dc;
  double *pdStack_1d8;
  int iStack_1d4;
  double *pdStack_1d0;
  double dStack_f0;
  double *pdStack_e8;
  double *local_a0;
  undefined4 local_90;
  undefined4 local_8c;
  double local_88;
  double local_80;
  undefined8 local_78;
  int *local_70;
  undefined *local_6c;
  int local_68;
  undefined *local_64;
  undefined4 *local_60;
  undefined *local_54;
  
  puVar22 = PTR___stack_chk_guard_003a9230;
  dVar31 = (double)CONCAT44(param_3,param_4);
  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;
  if (param_1 == (int *)0x0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,
               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);
LAB_000cc830:
    iVar2 = 0xc0b;
    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;
    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);
    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;
    (*(code *)PTR___assert_fail_003a9608)();
  }
  else {
    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;
    if (param_1[0xcd4] != 0) {
      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,
                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);
    }
    if ((*param_1 == 2) && (0 < param_1[9])) {
      iVar2 = 0;
      iVar15 = 0;
      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);
      unaff_s7 = SUB84(dVar29,0);
      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);
      dVar33 = dVar29;
      dVar32 = dVar29;
      dVar35 = dVar29;
      do {
        iVar20 = param_1[0xb4];
        if ((*(uint *)(iVar20 + 4) & 2) != 0) {
          iVar5 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[0xb4];
            iVar5 = param_1[10] + iVar2;
          }
          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {
          iVar5 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[0xb4];
            iVar5 = param_1[10] + iVar2;
          }
          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {
          iVar5 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[0xb4];
            iVar5 = param_1[10] + iVar2;
          }
          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {
          iVar20 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[10] + iVar2;
          }
          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        iVar15 = iVar15 + 1;
        iVar2 = iVar2 + 0x58;
      } while (iVar15 < param_1[9]);
    }
    local_8c = 0;
    local_90 = 0;
    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);
    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);
    if (((iVar2 == 4) ||
        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&
       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||
        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      iVar15 = param_1[7];
      iVar2 = iVar15;
      if (iVar15 < 0) {
        iVar2 = iVar15 + 0x3f;
      }
      if (extraout_v1 < iVar2 >> 6) {
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        bVar1 = extraout_v1_02 < 2;
      }
      else {
        bVar1 = iVar15 < 0x80;
      }
      iVar2 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar2 = param_1[7];
        if (iVar2 < 0) {
          iVar2 = iVar2 + 0x3f;
        }
        iVar2 = iVar2 >> 6;
        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;
      }
    }
    else {
      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
          iVar2 = 1;
          goto LAB_000cc440;
        }
      }
      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
LAB_000cc7ac:
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar2 = extraout_v1_00;
      }
      else {
        iVar2 = 2;
      }
    }
LAB_000cc440:
    puVar14 = (undefined *)0x0;
    local_64 = (undefined *)0x1;
    local_60 = &local_90;
    pdVar4 = &local_88;
    local_6c = param_7;
    local_88 = dVar31;
    local_80 = param_5;
    local_78 = param_6;
    local_70 = param_1;
    local_68 = unaff_s3;
    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);
    param_7 = local_64;
    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);
    puVar9 = local_54;
    if (local_54 == *(undefined **)puVar22) {
      return param_7;
    }
  }
  puVar24 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (puVar9 != (undefined *)0x0) {
    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {
      if (*(int *)(puVar9 + 0x3350) != 0) {
        (**(code **)(puVar24 + 0x2dc980))
                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,
                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);
      }
      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {
        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||
           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {
          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;
          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);
          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;
          iVar2 = *(int *)(puVar9 + 0x2d0);
          goto LAB_000cc8dc;
        }
LAB_000cc988:
        (*pcVar25)(puVar9,0x17,local_a0);
        iVar2 = *(int *)(puVar9 + 0x2d0);
        uVar8 = *(uint *)(iVar2 + 4);
      }
      else {
LAB_000cc8d8:
        iVar2 = *(int *)(puVar9 + 0x2d0);
LAB_000cc8dc:
        uVar8 = *(uint *)(iVar2 + 4);
      }
      if (puVar14 != (undefined *)0x0) {
        if ((uVar8 & 2) == 0) {
          puVar22 = (undefined *)0x1;
        }
        else {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)(uVar8 & 1);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {
          return puVar22;
        }
        if (*(int *)(puVar9 + 700) == 0) {
          return puVar22;
        }
        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);
        pcVar25 = *(code **)(puVar24 + 0x2dc848);
        goto LAB_000cca38;
      }
      pcVar25 = *(code **)(puVar24 + 0x2dcd30);
      if ((uVar8 & 2) == 0) {
        puVar22 = (undefined *)0x1;
        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;
LAB_000cc900:
        pcVar25 = *(code **)(puVar24 + 0x2dcd30);
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;
      }
      else {
        uVar3 = (*pcVar25)(puVar9,1);
        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
        puVar22 = (undefined *)(uVar8 & 1);
        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
        iVar2 = *(int *)(puVar9 + 0x2d0);
        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;
        pcVar25 = *(code **)(puVar24 + 0x2dcd30);
LAB_000ccc54:
        uVar3 = (*pcVar25)(puVar9,2);
        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
        puVar22 = (undefined *)((uint)puVar22 & uVar8);
        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
        iVar2 = *(int *)(puVar9 + 0x2d0);
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {
          pcVar25 = *(code **)(puVar24 + 0x2dcd30);
LAB_000cccc4:
          uVar3 = (*pcVar25)(puVar9,4);
          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
      }
      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {
        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);
        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
        puVar22 = (undefined *)((uint)puVar22 & uVar8);
        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
        iVar2 = *(int *)(puVar9 + 0x2d0);
      }
      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {
        return puVar22;
      }
      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);
      pcVar25 = *(code **)(puVar24 + 0x2dca10);
LAB_000cca38:
      uVar8 = (*pcVar25)(puVar9);
      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
      return (undefined *)((uint)puVar22 & uVar8);
    }
    (**(code **)(puVar24 + 0x2dcda8))
              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,
               *(int *)(puVar24 + 0x2dc088) + 0x545c);
    puVar22 = puVar9;
  }
  uVar3 = 0xc92;
  pcVar25 = *(code **)(puVar24 + 0x2dcda8);
  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;
  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;
  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);
  dVar33 = (double)CONCAT44(uVar3,iVar15);
  if (iVar2 != 0) {
    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {
      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);
      if (pdVar4 == (double *)0x0) {
        (**(code **)(pcVar25 + 0x2dc084))
                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,
                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);
        puVar22 = (undefined *)0x0;
      }
      else {
        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);
        pdVar12 = pdVar4 + 0xffff;
        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);
        if (0 < *(int *)(iVar2 + 0x1c)) {
          iVar20 = 0;
          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);
          iVar15 = *(int *)(iVar2 + 0x18);
          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);
          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);
          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);
          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);
          do {
            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);
            if (iVar5 == 0) break;
            iVar15 = *(int *)(iVar2 + 0x18);
            if (0 < iVar15) {
              iVar27 = 0;
              do {
                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);
                fVar30 = (float)dVar29;
                pdVar6 = pdVar12;
                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {
                  dVar29 = (double)fVar30 + dVar35;
                  if (dVar32 <= dVar29) {
                    dVar29 = dVar29 - dVar32;
                  }
                  pdVar6 = pdVar4 + (int)dVar29;
                }
                iVar27 = iVar27 + 1;
                iVar15 = *(int *)(iVar2 + 0x18);
                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;
                *pdVar6 = *pdVar6 + dVar31;
              } while (iVar27 < iVar15);
            }
            iVar20 = iVar20 + 1;
            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);
          } while (iVar20 < *(int *)(iVar2 + 0x1c));
        }
        iVar15 = 0;
        (**(code **)(pcVar25 + 0x2dc058))(uVar3);
        dVar31 = 0.0;
        pdVar6 = pdVar4;
        do {
          dVar31 = dVar31 + *pdVar6;
          iVar15 = iVar15 + 1;
          if (dVar33 <= dVar31) break;
          pdVar6 = pdVar6 + 1;
        } while (iVar15 != 0xffff);
        iVar15 = 0xffff;
        dVar31 = 0.0;
        do {
          dVar31 = dVar31 + *pdVar12;
          iVar15 = iVar15 + -1;
          if (dStack_f0 <= dVar31) {
            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);
            goto LAB_000cd170;
          }
          pdVar12 = pdVar12 + -1;
        } while (iVar15 != 0);
        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);
LAB_000cd170:
        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);
      }
      return puVar22;
    }
    (**(code **)(pcVar25 + 0x2dc76c))
              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,
               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);
    unaff_s6 = iVar2;
  }
  iVar2 = 0xd24;
  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);
  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);
  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);
  (*pcVar26)();
  pcVar25 = pcVar26 + 0x2e35c0;
  piVar21 = *(int **)(pcVar26 + 0x2dbf40);
  pdStack_1d0 = pdStack_e8;
  pdStack_1d8 = local_a0;
  piStack_1e4 = (int *)*piVar21;
  pcStack_2a0 = pcVar25;
  puStack_1e0 = puVar22;
  puStack_1dc = param_7;
  iStack_1d4 = unaff_s3;
  if (piVar10 == (int *)0x0) {
LAB_000cddd8:
    iVar15 = 0xe4d;
    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);
    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);
    (**(code **)(pcVar26 + 0x2dc318))();
  }
  else {
    unaff_s7 = piVar10;
    if (piVar10[0xcdb] != -0x54535255) {
      (**(code **)(pcVar26 + 0x2dc318))
                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,
                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);
      goto LAB_000cddd8;
    }
    if (piVar10[0xcd4] == 0) {
      pdVar12 = pdVar4;
      iVar15 = iVar2;
      if (pdVar4 == (double *)0x0) goto LAB_000cd570;
LAB_000cd380:
      if ((0x1e < piVar10[1] - 3U) ||
         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {
        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);
      }
      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);
      param_5 = dStack_238;
      if ((uVar8 & 8) == 0) {
        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
      }
      dVar31 = dStack_230;
      if ((uVar8 & 1) == 0) {
        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
      }
      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))
                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);
      if (iVar15 == 0) {
        iStack_298 = 0;
        dVar33 = dStack_240;
      }
      else {
        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);
        dVar33 = dStack_240;
      }
      if ((*piVar10 == 2) && (0 < piVar10[9])) {
        unaff_s8 = 0;
        unaff_s6 = 0;
        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);
        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);
        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
        uStack_294 = iStack_298 - 4;
        pdStack_284 = &dStack_250;
        puStack_290 = &uStack_268;
        puStack_28c = &uStack_260;
        dVar35 = *(double *)(iStack_280 + -0x39f0);
        iVar15 = piVar10[10];
        puStack_288 = &uStack_258;
        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);
        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);
        dStack_270 = dVar32;
        do {
          iVar15 = iVar15 + unaff_s8;
          uStack_258 = *(undefined8 *)(iVar15 + 0x28);
          uStack_260 = *(undefined8 *)(iVar15 + 0x30);
          uStack_268 = *(undefined8 *)(iVar15 + 0x38);
          if (uStack_294 < 0xb) {
                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();
            return puVar22;
          }
          pdStack_2b0 = pdStack_284;
          uStack_2b8 = (double)uStack_268;
          pdStack_2ac = &dStack_218;
          pdStack_2a8 = &dStack_248;
          (**(code **)(pcStack_2a0 + -0x7b7c))();
          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);
          pdStack_2a8 = (double *)puStack_290;
          pdStack_2ac = (double *)puStack_28c;
          pdStack_2b0 = (double *)puStack_288;
          dStack_250 = dVar29 / dVar35 + dStack_250;
          dStack_218 = param_5 * dVar32 * dStack_218;
          uStack_2b8 = dVar33 * dVar32 * dStack_248;
          dStack_248 = uStack_2b8;
          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);
          unaff_s6 = unaff_s6 + 1;
          iVar15 = piVar10[10];
          iVar20 = piVar10[9];
          iVar5 = iVar15 + unaff_s8;
          unaff_s8 = unaff_s8 + 0x58;
          *(undefined8 *)(iVar5 + 0x28) = uStack_258;
          *(undefined8 *)(iVar5 + 0x30) = uStack_260;
          *(undefined8 *)(iVar5 + 0x38) = uStack_268;
        } while (unaff_s6 < iVar20);
        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);
      }
      else {
        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);
      }
      local_a0 = &dStack_218;
      pdStack_e8 = &dStack_248;
      dStack_248 = 0.0;
      uVar3 = (*pcVar25)(piVar10,iVar2);
      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);
      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))
         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||
             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {
        (**(code **)(pcStack_2a0 + -0x7774))(7);
        iVar20 = piVar10[7];
        iVar15 = iVar20;
        if (iVar20 < 0) {
          iVar15 = iVar20 + 0x3f;
        }
        if (extraout_v1_04 < iVar15 >> 6) {
          (**(code **)(pcStack_2a0 + -0x7774))(7);
          bVar1 = extraout_v1_06 < 2;
        }
        else {
          bVar1 = iVar20 < 0x80;
        }
        iVar15 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcStack_2a0 + -0x7774))(7);
          iVar15 = piVar10[7];
          if (iVar15 < 0) {
            iVar15 = iVar15 + 0x3f;
          }
          iVar15 = iVar15 >> 6;
          if (extraout_v1_05 < iVar15) {
            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
            goto LAB_000cdc0c;
          }
        }
      }
      else {
        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);
        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {
          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
          if ((uint)uVar36 < 2) {
            uVar36 = (*pcVar25)(7);
            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;
            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
            if ((uint)uVar36 < 2) {
              iVar15 = 1;
              goto LAB_000cd4d8;
            }
          }
        }
        else {
LAB_000cd4bc:
          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
        }
        uVar36 = (*pcVar25)(7);
        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&
           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {
LAB_000cdc0c:
          (*pcVar25)(7);
          iVar15 = extraout_v1_03;
        }
        else {
          iVar15 = 2;
        }
      }
LAB_000cd4d8:
      iStack_1f4 = iStack_298;
      puStack_1f0 = (undefined *)0x1;
      pdVar12 = local_a0;
      dStack_210 = dVar31;
      dStack_208 = param_5;
      piStack_200 = piVar10;
      iStack_1fc = iVar2;
      uStack_1f8 = uVar3;
      pdStack_1ec = pdStack_e8;
      (**(code **)(pcStack_2a0 + -0x7718))
                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);
      puVar22 = puStack_1f0;
      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);
    }
    else {
      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;
      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);
      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);
      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);
      if (pdVar4 != (double *)0x0) goto LAB_000cd380;
LAB_000cd570:
      puVar22 = (undefined *)0x0;
    }
    piVar10 = piStack_1e4;
    unaff_s3 = iVar2;
    pcVar25 = pcStack_2a0;
    if (piStack_1e4 == (int *)*piVar21) {
      return puVar22;
    }
  }
  pcVar25 = *(code **)(pcVar25 + -0x784c);
  pcVar26 = NegateImage;
  (*pcVar25)();
  piVar23 = *(int **)(pcVar25 + 0x2db428);
  iStack_30c = *piVar23;
  puStack_308 = puVar22;
  piStack_304 = piVar21;
  pdStack_300 = local_a0;
  iStack_2fc = unaff_s3;
  pdStack_2f8 = pdStack_e8;
  piStack_2f4 = unaff_s5;
  iStack_2f0 = unaff_s6;
  piStack_2ec = unaff_s7;
  iStack_2e8 = unaff_s8;
  pcStack_2e4 = pcVar26;
  dStack_2e0 = dVar31;
  dStack_2d8 = param_5;
  dStack_2d0 = dVar33;
  if (piVar10 == (int *)0x0) goto LAB_000ce444;
  if (piVar10[0xcdb] == -0x54535255) {
    if (piVar10[0xcd4] != 0) {
      (**(code **)(pcVar25 + 0x2db3d8))
                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,
                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);
    }
    if (*piVar10 == 2) {
      iVar2 = piVar10[9];
      if (iVar2 < 1) goto LAB_000cde94;
      iVar20 = 0;
      iVar5 = 0;
      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);
      do {
        if (pdVar12 == (double *)0x0) {
LAB_000ce184:
          iVar27 = piVar10[0xb4];
          if ((*(uint *)(iVar27 + 4) & 2) != 0) {
            *(double *)(piVar10[10] + iVar20 + 0x28) =
                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);
          }
          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {
            *(double *)(piVar10[10] + iVar20 + 0x30) =
                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);
          }
          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {
            *(double *)(piVar10[10] + iVar20 + 0x38) =
                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);
          }
        }
        else {
          iVar27 = piVar10[10] + iVar20;
          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&
             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;
        }
        iVar5 = iVar5 + 1;
        iVar20 = iVar20 + 0x58;
      } while (iVar5 != iVar2);
      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);
    }
    else {
LAB_000cde94:
      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);
    }
    uStack_324 = 0;
    iStack_328 = 0;
    uVar3 = (*pcVar26)(piVar10,iVar15);
    if (pdVar12 == (double *)0x0) {
      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);
      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&
         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||
          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {
        (**(code **)(pcVar25 + 0x2db334))(7);
        iVar20 = piVar10[7];
        iVar2 = iVar20;
        if (iVar20 < 0) {
          iVar2 = iVar20 + 0x3f;
        }
        if (extraout_v1_07 < iVar2 >> 6) {
          (**(code **)(pcVar25 + 0x2db334))(7);
          bVar1 = extraout_v1_11 < 2;
        }
        else {
          bVar1 = iVar20 < 0x80;
        }
        iVar2 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar25 + 0x2db334))(7);
          iVar2 = piVar10[7];
          if (iVar2 < 0) {
            iVar2 = iVar2 + 0x3f;
          }
          iVar2 = iVar2 >> 6;
          if (extraout_v1_08 < iVar2) {
            (**(code **)(pcVar25 + 0x2db334))(7);
            iVar2 = extraout_v1_10;
          }
        }
      }
      else {
        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);
        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {
          pcVar26 = *(code **)(pcVar25 + 0x2db334);
          if ((uint)uVar36 < 2) {
            uVar36 = (*pcVar26)(7);
            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;
            pcVar26 = *(code **)(pcVar25 + 0x2db334);
            if ((uint)uVar36 < 2) {
              iVar2 = 1;
              goto LAB_000ce2a0;
            }
          }
        }
        else {
LAB_000ce288:
          pcVar26 = *(code **)(pcVar25 + 0x2db334);
        }
        uVar36 = (*pcVar26)(7);
        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
          (**(code **)(pcVar25 + 0x2db334))(7);
          iVar2 = extraout_v1_09;
        }
        else {
          iVar2 = 2;
        }
      }
LAB_000ce2a0:
      puStack_314 = (undefined *)0x1;
      piStack_310 = &iStack_328;
      piStack_320 = piVar10;
      iStack_31c = iVar15;
      uStack_318 = uVar3;
      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);
      puVar22 = puStack_314;
      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);
    }
    else {
      if (0 < piVar10[7]) {
        iVar5 = 0;
        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);
        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);
        iVar2 = *(int *)(pcVar25 + 0x2daae0);
        iVar20 = piVar10[6];
        dVar31 = dVar33;
        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),
              pfVar7 != (float *)0x0) {
          iVar27 = piVar10[6];
          iVar20 = 0;
          if (0 < iVar27) {
            iVar19 = piVar10[0xb0];
            piVar21 = (int *)piVar10[0xb4];
            iVar17 = piVar21[2];
            iVar16 = piVar21[5];
            iVar18 = piVar21[8];
            do {
              while( true ) {
                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];
                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);
                if (dVar32 < 0.0) {
                  uVar8 = uVar8 ^ 0x80000000;
                }
                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;
LAB_000cdf68:
                iVar20 = iVar20 + 1;
                pfVar7 = pfVar7 + iVar19;
                if (iVar20 == iVar27) goto LAB_000ce048;
              }
              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];
              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);
              if (dVar32 < 0.0) {
                uVar8 = uVar8 ^ 0x80000000;
              }
              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||
                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;
              do {
                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {
                  *pfVar13 = (float)uVar34 - *pfVar13;
                }
                piVar11 = piVar11 + 3;
                pfVar13 = pfVar13 + 1;
              } while (piVar11 != piVar21 + iVar19 * 3);
              iVar20 = iVar20 + 1;
              pfVar7 = pfVar7 + iVar19;
            } while (iVar20 != iVar27);
          }
LAB_000ce048:
          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);
          if (piVar10[0xca] != 0) {
            uVar8 = uStack_324 + 1;
            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;
            uStack_324 = uVar8;
            iVar27 = (**(code **)(pcVar25 + 0x2daeac))
                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);
            if (iVar27 == 0) break;
          }
          iVar5 = iVar5 + 1;
          if (piVar10[7] <= iVar5) break;
          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);
          if (iVar20 == 0) goto LAB_000ce0b0;
          iVar20 = piVar10[6];
        }
      }
      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);
LAB_000ce0b0:
      puVar22 = (undefined *)0x1;
      (*pcVar26)(uVar3);
    }
    if (iStack_30c == *piVar23) {
      return puVar22;
    }
    (**(code **)(pcVar25 + 0x2db25c))();
  }
  (**(code **)(pcVar25 + 0x2db800))
            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,
             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);
LAB_000ce444:
  pcVar26 = *(code **)(pcVar25 + 0x2db800);
  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,
             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);
  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();
  return puVar22;
}


lui gp,0x2e
addiu gp,gp,0x4598
addu gp,gp,t9
addiu sp,sp,-0xb0
sdc1 f20,0x80(sp)
mtc1 a3,f20
sw s0,0x60(sp)
lw s0,-0x7680(gp)
sw gp,0x18(sp)
sw s1,0x64(sp)
sdc1 f24,0x90(sp)
sw ra,0x7c(sp)
sw s7,0x78(sp)
sw s6,0x74(sp)
mthc1 a2,f20
sw s4,0x70(sp)
sw s3,0x6c(sp)
sw s2,0x68(sp)
lw v0,0x0(s0)
sdc1 f22,0x88(sp)
lw s1,0xd0(sp)
sdc1 f30,0xa8(sp)
sw v0,0x5c(sp)
sdc1 f28,0xa0(sp)
sdc1 f26,0x98(sp)
ldc1 f22,0xc0(sp)
beq a0,zero,0x000cc80c
_ldc1 f24,0xc8(sp)
lui v0,0xabac
lw v1,0x336c(a0)
ori v0,v0,0xadab
bne v1,v0,0x000cc830
_or s2,a0,zero
lw v0,0x3350(a0)
bne v0,zero,0x000cc738
_addiu v0,a0,0x340
lw v1,0x0(s2)
li v0,0x2
beq v1,v0,0x000cc55c
_nop
lw t9,-0x79dc(gp)
or v1,zero,zero
or v0,zero,zero
sw v1,0x24(sp)
or a0,s2,zero
or a1,s1,zero
jalr t9
_sw v0,0x20(sp)
or a0,s2,zero
lw gp,0x18(sp)
lw t9,-0x73fc(gp)
jalr t9
_or s3,v0,zero
li v1,0x4
beq v0,v1,0x000cc4e4
_lw gp,0x18(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s2,zero
li v1,0x3
beq v0,v1,0x000cc4e4
_lw gp,0x18(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x000cc770
_lw gp,0x18(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
beq v0,zero,0x000cc7a0
_lw gp,0x18(sp)
li a2,0x2
lw a0,-0x7e4c(gp)
li v0,0x1
lw t9,-0x7718(gp)
or a3,zero,zero
sw v0,0x4c(sp)
addiu v0,sp,0x20
addiu a1,sp,0x28
sdc1 f24,0x38(sp)
addiu a0,a0,0x305c
sw s1,0x44(sp)
sdc1 f22,0x30(sp)
sw v0,0x50(sp)
sdc1 f20,0x28(sp)
sw s3,0x48(sp)
jalr t9
_sw s2,0x40(sp)
or a0,s3,zero
lw gp,0x18(sp)
lw t9,-0x79bc(gp)
jalr t9
_lw s1,0x4c(sp)
or v0,s1,zero
lw a0,0x5c(sp)
lw v1,0x0(s0)
bne a0,v1,0x000cc854
_lw gp,0x18(sp)
lw ra,0x7c(sp)
lw s7,0x78(sp)
lw s6,0x74(sp)
lw s4,0x70(sp)
lw s3,0x6c(sp)
lw s2,0x68(sp)
lw s1,0x64(sp)
lw s0,0x60(sp)
ldc1 f30,0xa8(sp)
ldc1 f28,0xa0(sp)
ldc1 f26,0x98(sp)
ldc1 f24,0x90(sp)
ldc1 f22,0x88(sp)
ldc1 f20,0x80(sp)
jr ra
_addiu sp,sp,0xb0
lw t9,-0x73fc(gp)
jalr t9
_or a0,s2,zero
li v1,0x4
beq v0,v1,0x000cc514
_lw gp,0x18(sp)
lw t9,-0x73fc(gp)
jalr t9
_or a0,s2,zero
li v1,0x3
bne v0,v1,0x000cc410
_lw gp,0x18(sp)
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
lw v0,0x1c(s2)
lw gp,0x18(sp)
bgez v0,0x000cc534
_or a0,v0,zero
addiu a0,v0,0x3f
sra a0,a0,0x6
slt v1,v1,a0
bne v1,zero,0x000cc7f4
_lw t9,-0x7774(gp)
slti v0,v0,0x80
xori v0,v0,0x1
bne v0,zero,0x000cc7c0
_li a2,0x1
b 0x000cc440
_lw a0,-0x7e4c(gp)
lw v0,0x24(s2)
blez v0,0x000cc3b8
_lw v0,-0x7fd0(gp)
or s3,zero,zero
or s4,zero,zero
ldc1 f26,0x1440(v0)
mov.D f28,f26
mov.D f30,f26
mfc1 s7,f26
mfhc1 s6,f26
lw v0,0x2d0(s2)
lw v1,0x4(v0)
andi v1,v1,0x2
beq v1,zero,0x000cc5ec
_nop
lw v1,0x28(s2)
mtc1 zero,f2
addu v1,v1,s3
ldc1 f0,0x28(v1)
mthc1 zero,f2
mul.D f0,f0,f26
c.lt.D f0,f2
bc1t 0x000cc5d8
_mov.D f12,f0
lw t9,-0x7194(gp)
jalr t9
_mov.D f14,f24
lw v1,0x28(s2)
lw gp,0x18(sp)
lw v0,0x2d0(s2)
addu v1,v1,s3
sub.D D f2,f22,f20
madd.D f0,f20,f2,f0
cvt.s.D f0,f0
cvt.d.S f0,f0
sdc1 f0,0x28(v1)
lw v1,0x10(v0)
andi v1,v1,0x2
beq v1,zero,0x000cc650
_nop
lw v1,0x28(s2)
mtc1 zero,f2
addu v1,v1,s3
ldc1 f0,0x30(v1)
mthc1 zero,f2
mul.D f0,f0,f28
c.lt.D f0,f2
bc1t 0x1,0x000cc63c
_mov.D f12,f0
lw t9,-0x7194(gp)
jalr t9
_mov.D f14,f24
lw v1,0x28(s2)
lw gp,0x18(sp)
lw v0,0x2d0(s2)
addu v1,v1,s3
sub.D D f2,f22,f20
madd.D f0,f20,f2,f0
cvt.s.D f0,f0
cvt.d.S f0,f0
sdc1 f0,0x30(v1)
lw v1,0x1c(v0)
andi v1,v1,0x2
beq v1,zero,0x000cc6b4
_nop
lw v1,0x28(s2)
mtc1 zero,f2
addu v1,v1,s3
ldc1 f0,0x38(v1)
mthc1 zero,f2
mul.D f0,f0,f30
c.lt.D f0,f2
bc1t 0x2,0x000cc6a0
_mov.D f12,f0
lw t9,-0x7194(gp)
jalr t9
_mov.D f14,f24
lw v1,0x28(s2)
lw gp,0x18(sp)
lw v0,0x2d0(s2)
addu v1,v1,s3
sub.D D f2,f22,f20
madd.D f0,f20,f2,f0
cvt.s.D f0,f0
cvt.d.S f0,f0
sdc1 f0,0x38(v1)
lw v0,0x34(v0)
andi v0,v0,0x2
beq v0,zero,0x000cc71c
_nop
mtc1 s7,f2
lw v0,0x28(s2)
addu v0,v0,s3
ldc1 f0,0x48(v0)
mthc1 s6,f2
mul.D f0,f0,f2
mtc1 zero,f2
mthc1 zero,f2
c.lt.D f0,f2
bc1t 0x3,0x000cc708
_mov.D f12,f0
lw t9,-0x7194(gp)
jalr t9
_mov.D f14,f24
lw v0,0x28(s2)
lw gp,0x18(sp)
addu v0,v0,s3
sub.D D f2,f22,f20
madd.D f0,f20,f2,f0
cvt.s.D f0,f0
cvt.d.S f0,f0
sdc1 f0,0x48(v0)
lw v0,0x24(s2)
addiu s4,s4,0x1
slt v0,s4,v0
bne v0,zero,0x000cc584
_addiu s3,s3,0x58
b 0x000cc3bc
_lw t9,-0x79dc(gp)
lw a2,-0x7fc8(gp)
lw a1,-0x7fc8(gp)
li a3,0xc0d
lw t9,-0x76d0(gp)
ori a0,zero,0x8000
sw v0,0x14(sp)
addiu a2,a2,0x5470
lw v0,-0x7fcc(gp)
addiu a1,a1,0x5060
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x000cc3a8
_lw gp,0x18(sp)
sltiu v1,v1,0x2
beq v1,zero,0x000cc428
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
bne v0,zero,0x000cc424
_lw gp,0x18(sp)
sltiu v1,v1,0x2
beq v1,zero,0x000cc428
_lw t9,-0x7774(gp)
b 0x000cc43c
_li a2,0x1
sltiu v1,v1,0x2
beq v1,zero,0x000cc438
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
lw gp,0x18(sp)
b 0x000cc43c
_or a2,v1,zero
lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
lw a2,0x1c(s2)
bgez a2,0x000cc7dc
_lw gp,0x18(sp)
addiu a2,a2,0x3f
sra a2,a2,0x6
slt v1,v1,a2
beq v1,zero,0x000cc440
_lw a0,-0x7e4c(gp)
b 0x000cc7ac
_lw t9,-0x7774(gp)
jalr t9
_li a0,0x7
slti v0,v1,0x2
lw gp,0x18(sp)
b 0x000cc54c
_xori v0,v0,0x1
lw a3,-0x7fc8(gp)
li a2,0xc0a
lw a1,-0x7fc8(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x5480
addiu a1,a1,0x5060
jalr t9
_addiu a0,a0,0xdd0
lw a3,-0x7fc8(gp)
li a2,0xc0b
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x5480
addiu a1,a1,0x5060
jalr t9
_addiu a0,a0,-0x3784
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "undefined *\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}\n\n" (function_definition "undefined *\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}" type_identifier (pointer_declarator "*\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" * (function_declarator "LevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" identifier (parameter_list "(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "double param_5" primitive_type identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "double *pdVar4;" primitive_type (pointer_declarator "*pdVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "double *pdVar6;" primitive_type (pointer_declarator "*pdVar6" * identifier) ;) (declaration "float *pfVar7;" primitive_type (pointer_declarator "*pfVar7" * identifier) ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int extraout_v1_03;" primitive_type identifier ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "int extraout_v1_08;" primitive_type identifier ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "int extraout_v1_10;" primitive_type identifier ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "float *pfVar13;" primitive_type (pointer_declarator "*pfVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "double dVar28;" primitive_type identifier ;) (declaration "double dVar29;" primitive_type identifier ;) (declaration "float fVar30;" primitive_type identifier ;) (declaration "double dVar31;" primitive_type identifier ;) (declaration "double dVar32;" primitive_type identifier ;) (declaration "double dVar33;" primitive_type identifier ;) (declaration "ulonglong uVar34;" type_identifier identifier ;) (declaration "double dVar35;" primitive_type identifier ;) (declaration "undefined8 uVar36;" type_identifier identifier ;) (declaration "int iStack_328;" primitive_type identifier ;) (declaration "uint uStack_324;" type_identifier identifier ;) (declaration "int *piStack_320;" primitive_type (pointer_declarator "*piStack_320" * identifier) ;) (declaration "int iStack_31c;" primitive_type identifier ;) (declaration "undefined4 uStack_318;" type_identifier identifier ;) (declaration "undefined *puStack_314;" type_identifier (pointer_declarator "*puStack_314" * identifier) ;) (declaration "int *piStack_310;" primitive_type (pointer_declarator "*piStack_310" * identifier) ;) (declaration "int iStack_30c;" primitive_type identifier ;) (declaration "undefined *puStack_308;" type_identifier (pointer_declarator "*puStack_308" * identifier) ;) (declaration "int *piStack_304;" primitive_type (pointer_declarator "*piStack_304" * identifier) ;) (declaration "double *pdStack_300;" primitive_type (pointer_declarator "*pdStack_300" * identifier) ;) (declaration "int iStack_2fc;" primitive_type identifier ;) (declaration "double *pdStack_2f8;" primitive_type (pointer_declarator "*pdStack_2f8" * identifier) ;) (declaration "int *piStack_2f4;" primitive_type (pointer_declarator "*piStack_2f4" * identifier) ;) (declaration "int iStack_2f0;" primitive_type identifier ;) (declaration "int *piStack_2ec;" primitive_type (pointer_declarator "*piStack_2ec" * identifier) ;) (declaration "int iStack_2e8;" primitive_type identifier ;) (declaration "code *pcStack_2e4;" type_identifier (pointer_declarator "*pcStack_2e4" * identifier) ;) (declaration "double dStack_2e0;" primitive_type identifier ;) (declaration "double dStack_2d8;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "undefined8 uStack_2b8;" type_identifier identifier ;) (declaration "double *pdStack_2b0;" primitive_type (pointer_declarator "*pdStack_2b0" * identifier) ;) (declaration "double *pdStack_2ac;" primitive_type (pointer_declarator "*pdStack_2ac" * identifier) ;) (declaration "double *pdStack_2a8;" primitive_type (pointer_declarator "*pdStack_2a8" * identifier) ;) (declaration "code *pcStack_2a0;" type_identifier (pointer_declarator "*pcStack_2a0" * identifier) ;) (declaration "int iStack_298;" primitive_type identifier ;) (declaration "uint uStack_294;" type_identifier identifier ;) (declaration "undefined8 *puStack_290;" type_identifier (pointer_declarator "*puStack_290" * identifier) ;) (declaration "undefined8 *puStack_28c;" type_identifier (pointer_declarator "*puStack_28c" * identifier) ;) (declaration "undefined8 *puStack_288;" type_identifier (pointer_declarator "*puStack_288" * identifier) ;) (declaration "double *pdStack_284;" primitive_type (pointer_declarator "*pdStack_284" * identifier) ;) (declaration "int iStack_280;" primitive_type identifier ;) (declaration "int iStack_27c;" primitive_type identifier ;) (declaration "double dStack_278;" primitive_type identifier ;) (declaration "double dStack_270;" primitive_type identifier ;) (declaration "undefined8 uStack_268;" type_identifier identifier ;) (declaration "undefined8 uStack_260;" type_identifier identifier ;) (declaration "undefined8 uStack_258;" type_identifier identifier ;) (declaration "double dStack_250;" primitive_type identifier ;) (declaration "double dStack_248;" primitive_type identifier ;) (declaration "double dStack_240;" primitive_type identifier ;) (declaration "double dStack_238;" primitive_type identifier ;) (declaration "double dStack_230;" primitive_type identifier ;) (declaration "double dStack_218;" primitive_type identifier ;) (declaration "double dStack_210;" primitive_type identifier ;) (declaration "double dStack_208;" primitive_type identifier ;) (declaration "int *piStack_200;" primitive_type (pointer_declarator "*piStack_200" * identifier) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "undefined4 uStack_1f8;" type_identifier identifier ;) (declaration "int iStack_1f4;" primitive_type identifier ;) (declaration "undefined *puStack_1f0;" type_identifier (pointer_declarator "*puStack_1f0" * identifier) ;) (declaration "double *pdStack_1ec;" primitive_type (pointer_declarator "*pdStack_1ec" * identifier) ;) (declaration "int *piStack_1e4;" primitive_type (pointer_declarator "*piStack_1e4" * identifier) ;) (declaration "undefined *puStack_1e0;" type_identifier (pointer_declarator "*puStack_1e0" * identifier) ;) (declaration "undefined *puStack_1dc;" type_identifier (pointer_declarator "*puStack_1dc" * identifier) ;) (declaration "double *pdStack_1d8;" primitive_type (pointer_declarator "*pdStack_1d8" * identifier) ;) (declaration "int iStack_1d4;" primitive_type identifier ;) (declaration "double *pdStack_1d0;" primitive_type (pointer_declarator "*pdStack_1d0" * identifier) ;) (declaration "double dStack_f0;" primitive_type identifier ;) (declaration "double *pdStack_e8;" primitive_type (pointer_declarator "*pdStack_e8" * identifier) ;) (declaration "double *local_a0;" primitive_type (pointer_declarator "*local_a0" * identifier) ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "double local_88;" primitive_type identifier ;) (declaration "double local_80;" primitive_type identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "int *local_70;" primitive_type (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "undefined *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (expression_statement "puVar22 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar22 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "dVar31 = (double)CONCAT44(param_3,param_4);" (assignment_expression "dVar31 = (double)CONCAT44(param_3,param_4)" identifier = (cast_expression "(double)CONCAT44(param_3,param_4)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier ))))) ;) (expression_statement "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(undefined **)PTR___stack_chk_guard_003a9230" * (cast_expression "(undefined **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier + number_literal) ))) ;) (labeled_statement "LAB_000cc830:\n    iVar2 = 0xc0b;" statement_identifier : (expression_statement "iVar2 = 0xc0b;" (assignment_expression "iVar2 = 0xc0b" identifier = number_literal) ;)) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier + number_literal)) ;) (expression_statement "pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);" (assignment_expression "pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" identifier = (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) )))) ;) (expression_statement "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;" (assignment_expression "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" else (compound_statement "{\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" { (if_statement "if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;" if (parenthesized_expression "(param_1[0xcdb] != -0x54535255)" ( (binary_expression "param_1[0xcdb] != -0x54535255" (subscript_expression "param_1[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_000cc830;" goto statement_identifier ;)) (if_statement "if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" if (parenthesized_expression "(param_1[0xcd4] != 0)" ( (binary_expression "param_1[0xcd4] != 0" (subscript_expression "param_1[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" { (expression_statement "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" identifier = (cast_expression "(double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" ( number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }" if (parenthesized_expression "((*param_1 == 2) && (0 < param_1[9]))" ( (binary_expression "(*param_1 == 2) && (0 < param_1[9])" (parenthesized_expression "(*param_1 == 2)" ( (binary_expression "*param_1 == 2" (pointer_expression "*param_1" * identifier) == number_literal) )) && (parenthesized_expression "(0 < param_1[9])" ( (binary_expression "0 < param_1[9]" number_literal < (subscript_expression "param_1[9]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = SUB84(dVar29,0);" (assignment_expression "unaff_s7 = SUB84(dVar29,0)" identifier = (call_expression "SUB84(dVar29,0)" identifier (argument_list "(dVar29,0)" ( identifier , number_literal )))) ;) (expression_statement "unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);" (assignment_expression "unaff_s6 = (int)((ulonglong)dVar29 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)dVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar29 >> 0x20)" ( (binary_expression "(ulonglong)dVar29 >> 0x20" (cast_expression "(ulonglong)dVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "dVar33 = dVar29;" (assignment_expression "dVar33 = dVar29" identifier = identifier) ;) (expression_statement "dVar32 = dVar29;" (assignment_expression "dVar32 = dVar29" identifier = identifier) ;) (expression_statement "dVar35 = dVar29;" (assignment_expression "dVar35 = dVar29" identifier = identifier) ;) (do_statement "do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);" do (compound_statement "{\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      }" { (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 4) & 2)" ( (binary_expression "*(uint *)(iVar20 + 4) & 2" (pointer_expression "*(uint *)(iVar20 + 4)" * (cast_expression "(uint *)(iVar20 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar5 + 0x28) * dVar33;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x28) * dVar33" identifier = (binary_expression "*(double *)(iVar5 + 0x28) * dVar33" (pointer_expression "*(double *)(iVar5 + 0x28)" * (cast_expression "(double *)(iVar5 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x28)" * (cast_expression "(double *)(iVar5 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar20 + 0x10) & 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" * (cast_expression "(uint *)(iVar20 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar5 + 0x30) * dVar32;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x30) * dVar32" identifier = (binary_expression "*(double *)(iVar5 + 0x30) * dVar32" (pointer_expression "*(double *)(iVar5 + 0x30)" * (cast_expression "(double *)(iVar5 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x30)" * (cast_expression "(double *)(iVar5 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar20 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar20 + 0x1c)" * (cast_expression "(uint *)(iVar20 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar5 + 0x38) * dVar35;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x38) * dVar35" identifier = (binary_expression "*(double *)(iVar5 + 0x38) * dVar35" (pointer_expression "*(double *)(iVar5 + 0x38)" * (cast_expression "(double *)(iVar5 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x38)" * (cast_expression "(double *)(iVar5 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 0x34) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 0x34) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar20 + 0x34) & 2" (pointer_expression "*(uint *)(iVar20 + 0x34)" * (cast_expression "(uint *)(iVar20 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x34)" ( (binary_expression "iVar20 + 0x34" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar20 = param_1[10] + iVar2;" (assignment_expression "iVar20 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar20 + 0x48) * dVar29;" (assignment_expression "dVar28 = *(double *)(iVar20 + 0x48) * dVar29" identifier = (binary_expression "*(double *)(iVar20 + 0x48) * dVar29" (pointer_expression "*(double *)(iVar20 + 0x48)" * (cast_expression "(double *)(iVar20 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[10] + iVar2;" (assignment_expression "iVar20 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar20 + 0x48)" * (cast_expression "(double *)(iVar20 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar2 + 0x58;" (assignment_expression "iVar2 = iVar2 + 0x58" identifier = (binary_expression "iVar2 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 < param_1[9])" ( (binary_expression "iVar15 < param_1[9]" identifier < (subscript_expression "param_1[9]" identifier [ number_literal ])) )) ;) })) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);" (assignment_expression "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7)" identifier = (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" ( (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" * (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" if (parenthesized_expression "(((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar15 = param_1[7];" (assignment_expression "iVar15 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = iVar15;" (assignment_expression "iVar2 = iVar15" identifier = identifier) ;) (if_statement "if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar2 = iVar15 + 0x3f;\n      }" { (expression_statement "iVar2 = iVar15 + 0x3f;" (assignment_expression "iVar2 = iVar15 + 0x3f" identifier = (binary_expression "iVar15 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1 < iVar2 >> 6)" ( (binary_expression "extraout_v1 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar15 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar15 < 0x80;\n      }" { (expression_statement "bVar1 = iVar15 < 0x80;" (assignment_expression "bVar1 = iVar15 < 0x80" identifier = (binary_expression "iVar15 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = param_1[7];" (assignment_expression "iVar2 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar2 = iVar2 + 0x3f;\n        }" { (expression_statement "iVar2 = iVar2 + 0x3f;" (assignment_expression "iVar2 = iVar2 + 0x3f" identifier = (binary_expression "iVar2 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar2 = iVar2 >> 6;" (assignment_expression "iVar2 = iVar2 >> 6" identifier = (binary_expression "iVar2 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;" if (parenthesized_expression "(extraout_v1_01 < iVar2)" ( (binary_expression "extraout_v1_01 < iVar2" identifier < identifier) )) (goto_statement "goto LAB_000cc7ac;" goto statement_identifier ;)) })) }) (else_clause "else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" else (compound_statement "{\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" { (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" { (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000cc440;" goto statement_identifier ;) })) })) (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }" { (labeled_statement "LAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" statement_identifier : (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar2 = extraout_v1_00;" (assignment_expression "iVar2 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n        iVar2 = 2;\n      }" else (compound_statement "{\n        iVar2 = 2;\n      }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000cc440:\n    puVar14 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_64 = (undefined *)0x1;" (assignment_expression "local_64 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = &local_90;" (assignment_expression "local_60 = &local_90" identifier = (pointer_expression "&local_90" & identifier)) ;) (expression_statement "pdVar4 = &local_88;" (assignment_expression "pdVar4 = &local_88" identifier = (pointer_expression "&local_88" & identifier)) ;) (expression_statement "local_6c = param_7;" (assignment_expression "local_6c = param_7" identifier = identifier) ;) (expression_statement "local_88 = dVar31;" (assignment_expression "local_88 = dVar31" identifier = identifier) ;) (expression_statement "local_80 = param_5;" (assignment_expression "local_80 = param_5" identifier = identifier) ;) (expression_statement "local_78 = param_6;" (assignment_expression "local_78 = param_6" identifier = identifier) ;) (expression_statement "local_70 = param_1;" (assignment_expression "local_70 = param_1" identifier = identifier) ;) (expression_statement "local_68 = unaff_s3;" (assignment_expression "local_68 = unaff_s3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a8a64 + 0x305c)" ( (binary_expression "PTR_LAB_003a8a64 + 0x305c" identifier + number_literal) ))) ;) (expression_statement "param_7 = local_64;" (assignment_expression "param_7 = local_64" identifier = identifier) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "puVar9 = local_54;" (assignment_expression "puVar9 = local_54" identifier = identifier) ;) (if_statement "if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }" if (parenthesized_expression "(local_54 == *(undefined **)puVar22)" ( (binary_expression "local_54 == *(undefined **)puVar22" identifier == (pointer_expression "*(undefined **)puVar22" * (cast_expression "(undefined **)puVar22" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return param_7;\n    }" { (return_statement "return param_7;" return identifier ;) })) }))) (expression_statement "puVar24 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar24 = 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 "()" ( ))) ;) (if_statement "if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }" if (parenthesized_expression "(puVar9 != (undefined *)0x0)" ( (binary_expression "puVar9 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }" { (if_statement "if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }" if (parenthesized_expression "(*(int *)(puVar9 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar9 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar9 + 0x336c)" * (cast_expression "(int *)(puVar9 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x336c)" ( (binary_expression "puVar9 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }" { (if_statement "if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }" if (parenthesized_expression "(*(int *)(puVar9 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar9 + 0x3350) != 0" (pointer_expression "*(int *)(puVar9 + 0x3350)" * (cast_expression "(int *)(puVar9 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x3350)" ( (binary_expression "puVar9 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }" { (expression_statement "(**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);" (call_expression "(**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc980))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc980)" * (pointer_expression "*(code **)(puVar24 + 0x2dc980)" * (cast_expression "(code **)(puVar24 + 0x2dc980)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc980)" ( (binary_expression "puVar24 + 0x2dc980" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95)" ( number_literal , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5448" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" if (parenthesized_expression "((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3))" ( (binary_expression "(*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)" (parenthesized_expression "(*(int *)(puVar9 + 4) == 0x21)" ( (binary_expression "*(int *)(puVar9 + 4) == 0x21" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(puVar9 + 4) == 3)" ( (binary_expression "*(int *)(puVar9 + 4) == 3" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" { (if_statement "if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" if (parenthesized_expression "((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3))" ( (binary_expression "(*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)" (parenthesized_expression "(*(int *)((int)pdVar4 + 4) == 0x21)" ( (binary_expression "*(int *)((int)pdVar4 + 4) == 0x21" (pointer_expression "*(int *)((int)pdVar4 + 4)" * (cast_expression "(int *)((int)pdVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 4)" ( (binary_expression "(int)pdVar4 + 4" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)" ( (comma_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dc4e0)" * (cast_expression "(code **)(puVar24 + 0x2dc4e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc4e0)" ( (binary_expression "puVar24 + 0x2dc4e0" identifier + number_literal) ))))) , (binary_expression "*(int *)((int)pdVar4 + 4) == 3" (pointer_expression "*(int *)((int)pdVar4 + 4)" * (cast_expression "(int *)((int)pdVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 4)" ( (binary_expression "(int)pdVar4 + 4" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" { (if_statement "if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;" if (parenthesized_expression "(*(int *)(iVar2 + 4) == 0x21)" ( (binary_expression "*(int *)(iVar2 + 4) == 0x21" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000cc8d8;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dc4e0);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dc4e0)" * (cast_expression "(code **)(puVar24 + 0x2dc4e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc4e0)" ( (binary_expression "puVar24 + 0x2dc4e0" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;" if (parenthesized_expression "(*(int *)(iVar2 + 4) != 3)" ( (binary_expression "*(int *)(iVar2 + 4) != 3" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_000cc988;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cc8dc;" goto statement_identifier ;) })) (labeled_statement "LAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);" statement_identifier : (expression_statement "(*pcVar25)(puVar9,0x17,local_a0);" (call_expression "(*pcVar25)(puVar9,0x17,local_a0)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,0x17,local_a0)" ( identifier , number_literal , identifier ))) ;)) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar8 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" else (compound_statement "{\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" { (labeled_statement "LAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);" statement_identifier : (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);" statement_identifier : (expression_statement "uVar8 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar8 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;)) }))) (if_statement "if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }" if (parenthesized_expression "(puVar14 != (undefined *)0x0)" ( (binary_expression "puVar14 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }" { (if_statement "if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((uVar8 & 2) == 0)" ( (binary_expression "(uVar8 & 2) == 0" (parenthesized_expression "(uVar8 & 2)" ( (binary_expression "uVar8 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          puVar22 = (undefined *)0x1;\n        }" { (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" else (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,1)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)(uVar8 & 1);" (assignment_expression "puVar22 = (undefined *)(uVar8 & 1)" identifier = (cast_expression "(undefined *)(uVar8 & 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) }))) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,2)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,4)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2))" ( (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(puVar9 + 4) == 2)" ( (binary_expression "*(int *)(puVar9 + 4) == 2" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,8)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" * (cast_expression "(uint *)(iVar2 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          return puVar22;\n        }" { (return_statement "return puVar22;" return identifier ;) })) (if_statement "if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }" if (parenthesized_expression "(*(int *)(puVar9 + 700) == 0)" ( (binary_expression "*(int *)(puVar9 + 700) == 0" (pointer_expression "*(int *)(puVar9 + 700)" * (cast_expression "(int *)(puVar9 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 700)" ( (binary_expression "puVar9 + 700" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          return puVar22;\n        }" { (return_statement "return puVar22;" return identifier ;) })) (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,0x10)" ( identifier , number_literal )))) ;) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dc848);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc848)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cca38;" goto statement_identifier ;) })) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;) (if_statement "if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" if (parenthesized_expression "((uVar8 & 2) == 0)" ( (binary_expression "(uVar8 & 2) == 0" (parenthesized_expression "(uVar8 & 2)" ( (binary_expression "uVar8 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }" { (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000ccc54;" goto statement_identifier ;)) (labeled_statement "LAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);" statement_identifier : (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;)) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cccc4;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" else (compound_statement "{\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" { (expression_statement "uVar3 = (*pcVar25)(puVar9,1);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,1)" identifier = (call_expression "(*pcVar25)(puVar9,1)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)(uVar8 & 1);" (assignment_expression "puVar22 = (undefined *)(uVar8 & 1)" identifier = (cast_expression "(undefined *)(uVar8 & 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000cc900;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);" statement_identifier : (expression_statement "uVar3 = (*pcVar25)(puVar9,2);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,2)" identifier = (call_expression "(*pcVar25)(puVar9,2)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,2)" ( identifier , number_literal )))) ;)) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);" statement_identifier : (expression_statement "uVar3 = (*pcVar25)(puVar9,4);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,4)" identifier = (call_expression "(*pcVar25)(puVar9,4)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,4)" ( identifier , number_literal )))) ;)) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) }))) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2))" ( (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(puVar9 + 4) == 2)" ( (binary_expression "*(int *)(puVar9 + 4) == 2" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,8)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0))" ( (binary_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)" (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" * (cast_expression "(uint *)(iVar2 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(int *)(puVar9 + 700) == 0)" ( (binary_expression "*(int *)(puVar9 + 700) == 0" (pointer_expression "*(int *)(puVar9 + 700)" * (cast_expression "(int *)(puVar9 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 700)" ( (binary_expression "puVar9 + 700" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        return puVar22;\n      }" { (return_statement "return puVar22;" return identifier ;) })) (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,0x10)" ( identifier , number_literal )))) ;) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dca10);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dca10)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);" statement_identifier : (expression_statement "uVar8 = (*pcVar25)(puVar9);" (assignment_expression "uVar8 = (*pcVar25)(puVar9)" identifier = (call_expression "(*pcVar25)(puVar9)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9)" ( identifier )))) ;)) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (return_statement "return (undefined *)((uint)puVar22 & uVar8);" return (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) ))) ;) })) (expression_statement "(**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);" (call_expression "(**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcda8))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcda8)" * (pointer_expression "*(code **)(puVar24 + 0x2dcda8)" * (cast_expression "(code **)(puVar24 + 0x2dcda8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcda8)" ( (binary_expression "puVar24 + 0x2dcda8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c)" ( (binary_expression "*(int *)(puVar24 + 0x2dc088) + -0x3784" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar22 = puVar9;" (assignment_expression "puVar22 = puVar9" identifier = identifier) ;) })) (expression_statement "uVar3 = 0xc92;" (assignment_expression "uVar3 = 0xc92" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcda8);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcda8)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcda8)" * (cast_expression "(code **)(puVar24 + 0x2dcda8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcda8)" ( (binary_expression "puVar24 + 0x2dcda8" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;" (assignment_expression "iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c" identifier = (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;" (assignment_expression "iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0" identifier = (binary_expression "*(int *)(puVar24 + 0x2dc080) + 0xdd0" (pointer_expression "*(int *)(puVar24 + 0x2dc080)" * (cast_expression "(int *)(puVar24 + 0x2dc080)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc080)" ( (binary_expression "puVar24 + 0x2dc080" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);" (call_expression "(*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060)" ( identifier , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "dVar33 = (double)CONCAT44(uVar3,iVar15);" (assignment_expression "dVar33 = (double)CONCAT44(uVar3,iVar15)" identifier = (cast_expression "(double)CONCAT44(uVar3,iVar15)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar3,iVar15)" identifier (argument_list "(uVar3,iVar15)" ( identifier , identifier ))))) ;) (if_statement "if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" { (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" * (cast_expression "(int *)(iVar2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x336c)" ( (binary_expression "iVar2 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }" { (expression_statement "pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);" (assignment_expression "pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" identifier = (cast_expression "(double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc670))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc670)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc670)" * (cast_expression "(code **)(pcVar25 + 0x2dc670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc670)" ( (binary_expression "pcVar25 + 0x2dc670" identifier + number_literal) ))))) )) (argument_list "(0x10000,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" if (parenthesized_expression "(pdVar4 == (double *)0x0)" ( (binary_expression "pdVar4 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);" (call_expression "(**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc084))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc084)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc084)" * (cast_expression "(code **)(pcVar25 + 0x2dc084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc084)" ( (binary_expression "pcVar25 + 0x2dc084" identifier + number_literal) ))))) )) (argument_list "(pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5420" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "puVar22 = (undefined *)0x0;" (assignment_expression "puVar22 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" else (compound_statement "{\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);" (call_expression "(**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc838))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc838)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc838)" * (cast_expression "(code **)(pcVar25 + 0x2dc838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc838)" ( (binary_expression "pcVar25 + 0x2dc838" identifier + number_literal) ))))) )) (argument_list "(pdVar4,0,0x80000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pdVar12 = pdVar4 + 0xffff;" (assignment_expression "pdVar12 = pdVar4 + 0xffff" identifier = (binary_expression "pdVar4 + 0xffff" identifier + number_literal)) ;) (expression_statement "uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);" (assignment_expression "uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc8b8))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc8b8)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc8b8)" * (cast_expression "(code **)(pcVar25 + 0x2dc8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc8b8)" ( (binary_expression "pcVar25 + 0x2dc8b8" identifier + number_literal) ))))) )) (argument_list "(iVar2,pdStack_e8)" ( identifier , identifier )))) ;) (if_statement "if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }" if (parenthesized_expression "(0 < *(int *)(iVar2 + 0x1c))" ( (binary_expression "0 < *(int *)(iVar2 + 0x1c)" number_literal < (pointer_expression "*(int *)(iVar2 + 0x1c)" * (cast_expression "(int *)(iVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1438" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);" (assignment_expression "dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1400" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1410" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);" (assignment_expression "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1a50" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2dc7c0)" * (cast_expression "(code **)(pcVar25 + 0x2dc7c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc7c0)" ( (binary_expression "pcVar25 + 0x2dc7c0" identifier + number_literal) ))))) ;) (do_statement "do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));" do (compound_statement "{\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          }" { (expression_statement "iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);" (assignment_expression "iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15)" identifier = (call_expression "(*pcVar26)(uVar3,0,iVar20,iVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(uVar3,0,iVar20,iVar15)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (compound_statement "{\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);" do (compound_statement "{\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              }" { (expression_statement "dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);" (assignment_expression "dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" identifier = (cast_expression "(double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dbfbc))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dbfbc)" * (pointer_expression "*(code **)(pcVar25 + 0x2dbfbc)" * (cast_expression "(code **)(pcVar25 + 0x2dbfbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dbfbc)" ( (binary_expression "pcVar25 + 0x2dbfbc" identifier + number_literal) ))))) )) (argument_list "(iVar2,iVar5)" ( identifier , identifier ))))) ;) (expression_statement "fVar30 = (float)dVar29;" (assignment_expression "fVar30 = (float)dVar29" identifier = (cast_expression "(float)dVar29" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pdVar6 = pdVar12;" (assignment_expression "pdVar6 = pdVar12" identifier = identifier) ;) (if_statement "if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }" if (parenthesized_expression "((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30))" ( (binary_expression "(fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)" (parenthesized_expression "(fVar30 < (float)uVar34)" ( (binary_expression "fVar30 < (float)uVar34" identifier < (cast_expression "(float)uVar34" ( (type_descriptor "float" primitive_type) ) identifier)) )) && (parenthesized_expression "(pdVar6 = pdVar4, 0.0 < fVar30)" ( (comma_expression "pdVar6 = pdVar4, 0.0 < fVar30" (assignment_expression "pdVar6 = pdVar4" identifier = identifier) , (binary_expression "0.0 < fVar30" number_literal < identifier)) ))) )) (compound_statement "{\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }" { (expression_statement "dVar29 = (double)fVar30 + dVar35;" (assignment_expression "dVar29 = (double)fVar30 + dVar35" identifier = (binary_expression "(double)fVar30 + dVar35" (cast_expression "(double)fVar30" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }" if (parenthesized_expression "(dVar32 <= dVar29)" ( (binary_expression "dVar32 <= dVar29" identifier <= identifier) )) (compound_statement "{\n                    dVar29 = dVar29 - dVar32;\n                  }" { (expression_statement "dVar29 = dVar29 - dVar32;" (assignment_expression "dVar29 = dVar29 - dVar32" identifier = (binary_expression "dVar29 - dVar32" identifier - identifier)) ;) })) (expression_statement "pdVar6 = pdVar4 + (int)dVar29;" (assignment_expression "pdVar6 = pdVar4 + (int)dVar29" identifier = (binary_expression "pdVar4 + (int)dVar29" identifier + (cast_expression "(int)dVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4" identifier = (binary_expression "iVar5 + *(int *)(iVar2 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*pdVar6 = *pdVar6 + dVar31;" (assignment_expression "*pdVar6 = *pdVar6 + dVar31" (pointer_expression "*pdVar6" * identifier) = (binary_expression "*pdVar6 + dVar31" (pointer_expression "*pdVar6" * identifier) + identifier)) ;) }) while (parenthesized_expression "(iVar27 < iVar15)" ( (binary_expression "iVar27 < iVar15" identifier < identifier) )) ;) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2dc7c0)" * (cast_expression "(code **)(pcVar25 + 0x2dc7c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc7c0)" ( (binary_expression "pcVar25 + 0x2dc7c0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar20 < *(int *)(iVar2 + 0x1c))" ( (binary_expression "iVar20 < *(int *)(iVar2 + 0x1c)" identifier < (pointer_expression "*(int *)(iVar2 + 0x1c)" * (cast_expression "(int *)(iVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(pcVar25 + 0x2dc058))(uVar3);" (call_expression "(**(code **)(pcVar25 + 0x2dc058))(uVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc058))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc058)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc058)" * (cast_expression "(code **)(pcVar25 + 0x2dc058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc058)" ( (binary_expression "pcVar25 + 0x2dc058" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "dVar31 = 0.0;" (assignment_expression "dVar31 = 0.0" identifier = number_literal) ;) (expression_statement "pdVar6 = pdVar4;" (assignment_expression "pdVar6 = pdVar4" identifier = identifier) ;) (do_statement "do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);" do (compound_statement "{\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        }" { (expression_statement "dVar31 = dVar31 + *pdVar6;" (assignment_expression "dVar31 = dVar31 + *pdVar6" identifier = (binary_expression "dVar31 + *pdVar6" identifier + (pointer_expression "*pdVar6" * identifier))) ;) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (if_statement "if (dVar33 <= dVar31) break;" if (parenthesized_expression "(dVar33 <= dVar31)" ( (binary_expression "dVar33 <= dVar31" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pdVar6 = pdVar6 + 1;" (assignment_expression "pdVar6 = pdVar6 + 1" identifier = (binary_expression "pdVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0xffff)" ( (binary_expression "iVar15 != 0xffff" identifier != number_literal) )) ;) (expression_statement "iVar15 = 0xffff;" (assignment_expression "iVar15 = 0xffff" identifier = number_literal) ;) (expression_statement "dVar31 = 0.0;" (assignment_expression "dVar31 = 0.0" identifier = number_literal) ;) (do_statement "do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);" do (compound_statement "{\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        }" { (expression_statement "dVar31 = dVar31 + *pdVar12;" (assignment_expression "dVar31 = dVar31 + *pdVar12" identifier = (binary_expression "dVar31 + *pdVar12" identifier + (pointer_expression "*pdVar12" * identifier))) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (if_statement "if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }" if (parenthesized_expression "(dStack_f0 <= dVar31)" ( (binary_expression "dStack_f0 <= dVar31" identifier <= identifier) )) (compound_statement "{\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }" { (expression_statement "(**(code **)(pcVar25 + 0x2dc124))(pdVar4);" (call_expression "(**(code **)(pcVar25 + 0x2dc124))(pdVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc124))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc124)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc124)" * (cast_expression "(code **)(pcVar25 + 0x2dc124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc124)" ( (binary_expression "pcVar25 + 0x2dc124" identifier + number_literal) ))))) )) (argument_list "(pdVar4)" ( identifier ))) ;) (goto_statement "goto LAB_000cd170;" goto statement_identifier ;) })) (expression_statement "pdVar12 = pdVar12 + -1;" (assignment_expression "pdVar12 = pdVar12 + -1" identifier = (binary_expression "pdVar12 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) ;) (expression_statement "(**(code **)(pcVar25 + 0x2dc124))(pdVar4);" (call_expression "(**(code **)(pcVar25 + 0x2dc124))(pdVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc124))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc124)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc124)" * (cast_expression "(code **)(pcVar25 + 0x2dc124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc124)" ( (binary_expression "pcVar25 + 0x2dc124" identifier + number_literal) ))))) )) (argument_list "(pdVar4)" ( identifier ))) ;) (labeled_statement "LAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);" statement_identifier : (expression_statement "puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);" (assignment_expression "puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" identifier = (cast_expression "(undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc3d4))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc3d4)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc3d4)" * (cast_expression "(code **)(pcVar25 + 0x2dc3d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc3d4)" ( (binary_expression "pcVar25 + 0x2dc3d4" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier ))))) ;)) }))) (return_statement "return puVar22;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);" (call_expression "(**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc76c))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc76c)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc76c)" * (cast_expression "(code **)(pcVar25 + 0x2dc76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc76c)" ( (binary_expression "pcVar25 + 0x2dc76c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + -0x3784" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5434" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) })) (expression_statement "iVar2 = 0xd24;" (assignment_expression "iVar2 = 0xd24" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc76c);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc76c)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2dc76c)" * (cast_expression "(code **)(pcVar25 + 0x2dc76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc76c)" ( (binary_expression "pcVar25 + 0x2dc76c" identifier + number_literal) ))))) ;) (expression_statement "pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);" (assignment_expression "pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);" (assignment_expression "piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" identifier = (cast_expression "(int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0xdd0" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar25 = pcVar26 + 0x2e35c0;" (assignment_expression "pcVar25 = pcVar26 + 0x2e35c0" identifier = (binary_expression "pcVar26 + 0x2e35c0" identifier + number_literal)) ;) (expression_statement "piVar21 = *(int **)(pcVar26 + 0x2dbf40);" (assignment_expression "piVar21 = *(int **)(pcVar26 + 0x2dbf40)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x2dbf40)" * (cast_expression "(int **)(pcVar26 + 0x2dbf40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dbf40)" ( (binary_expression "pcVar26 + 0x2dbf40" identifier + number_literal) ))))) ;) (expression_statement "pdStack_1d0 = pdStack_e8;" (assignment_expression "pdStack_1d0 = pdStack_e8" identifier = identifier) ;) (expression_statement "pdStack_1d8 = local_a0;" (assignment_expression "pdStack_1d8 = local_a0" identifier = identifier) ;) (expression_statement "piStack_1e4 = (int *)*piVar21;" (assignment_expression "piStack_1e4 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "pcStack_2a0 = pcVar25;" (assignment_expression "pcStack_2a0 = pcVar25" identifier = identifier) ;) (expression_statement "puStack_1e0 = puVar22;" (assignment_expression "puStack_1e0 = puVar22" identifier = identifier) ;) (expression_statement "puStack_1dc = param_7;" (assignment_expression "puStack_1dc = param_7" identifier = identifier) ;) (expression_statement "iStack_1d4 = unaff_s3;" (assignment_expression "iStack_1d4 = unaff_s3" identifier = identifier) ;) (if_statement "if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }" { (labeled_statement "LAB_000cddd8:\n    iVar15 = 0xe4d;" statement_identifier : (expression_statement "iVar15 = 0xe4d;" (assignment_expression "iVar15 = 0xe4d" identifier = number_literal) ;)) (expression_statement "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);" (assignment_expression "piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f0) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x2db5f0)" * (cast_expression "(int *)(pcVar26 + 0x2db5f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f0)" ( (binary_expression "pcVar26 + 0x2db5f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2dc318))();" (call_expression "(**(code **)(pcVar26 + 0x2dc318))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dc318))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dc318)" * (pointer_expression "*(code **)(pcVar26 + 0x2dc318)" * (cast_expression "(code **)(pcVar26 + 0x2dc318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dc318)" ( (binary_expression "pcVar26 + 0x2dc318" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" else (compound_statement "{\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" { (expression_statement "unaff_s7 = piVar10;" (assignment_expression "unaff_s7 = piVar10" identifier = identifier) ;) (if_statement "if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" if (parenthesized_expression "(piVar10[0xcdb] != -0x54535255)" ( (binary_expression "piVar10[0xcdb] != -0x54535255" (subscript_expression "piVar10[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);" (call_expression "(**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dc318))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dc318)" * (pointer_expression "*(code **)(pcVar26 + 0x2dc318)" * (cast_expression "(code **)(pcVar26 + 0x2dc318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dc318)" ( (binary_expression "pcVar26 + 0x2dc318" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5410" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000cddd8;" goto statement_identifier ;) })) (if_statement "if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" if (parenthesized_expression "(piVar10[0xcd4] == 0)" ( (binary_expression "piVar10[0xcd4] == 0" (subscript_expression "piVar10[0xcd4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }" { (expression_statement "pdVar12 = pdVar4;" (assignment_expression "pdVar12 = pdVar4" identifier = identifier) ;) (expression_statement "iVar15 = iVar2;" (assignment_expression "iVar15 = iVar2" identifier = identifier) ;) (if_statement "if (pdVar4 == (double *)0x0) goto LAB_000cd570;" if (parenthesized_expression "(pdVar4 == (double *)0x0)" ( (binary_expression "pdVar4 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd570;" goto statement_identifier ;)) (labeled_statement "LAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" statement_identifier : (if_statement "if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" if (parenthesized_expression "((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)))" ( (binary_expression "(0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < piVar10[1] - 3U)" ( (binary_expression "0x1e < piVar10[1] - 3U" number_literal < (binary_expression "piVar10[1] - 3U" (subscript_expression "piVar10[1]" identifier [ number_literal ]) - number_literal)) )) || (parenthesized_expression "(-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" ( (binary_expression "(0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f" (parenthesized_expression "(0x403c0001U >> (piVar10[1] - 3U & 0x1f))" ( (binary_expression "0x403c0001U >> (piVar10[1] - 3U & 0x1f)" number_literal >> (parenthesized_expression "(piVar10[1] - 3U & 0x1f)" ( (binary_expression "piVar10[1] - 3U & 0x1f" (binary_expression "piVar10[1] - 3U" (subscript_expression "piVar10[1]" identifier [ number_literal ]) - number_literal) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);" (call_expression "(**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b70))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7b70)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7b70)" * (cast_expression "(code **)(pcStack_2a0 + -0x7b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7b70)" ( (binary_expression "pcStack_2a0 + -0x7b70" identifier + number_literal) ))))) )) (argument_list "(piVar10,0x17,iVar2)" ( identifier , number_literal , identifier ))) ;) }))) (expression_statement "uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);" (assignment_expression "uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x745c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x745c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x745c)" * (cast_expression "(code **)(pcStack_2a0 + -0x745c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x745c)" ( (binary_expression "pcStack_2a0 + -0x745c" identifier + number_literal) ))))) )) (argument_list "(pdVar4,&dStack_240)" ( identifier , (pointer_expression "&dStack_240" & identifier) )))) ;) (expression_statement "param_5 = dStack_238;" (assignment_expression "param_5 = dStack_238" identifier = identifier) ;) (if_statement "if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" if (parenthesized_expression "((uVar8 & 8) == 0)" ( (binary_expression "(uVar8 & 8) == 0" (parenthesized_expression "(uVar8 & 8)" ( (binary_expression "uVar8 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" { (expression_statement "param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "dVar31 = dStack_230;" (assignment_expression "dVar31 = dStack_230" identifier = identifier) ;) (if_statement "if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" if (parenthesized_expression "((uVar8 & 1) == 0)" ( (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" { (expression_statement "dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73f0))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73f0)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73f0)" * (cast_expression "(code **)(pcStack_2a0 + -0x73f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73f0)" ( (binary_expression "pcStack_2a0 + -0x73f0" identifier + number_literal) ))))) )) (argument_list "(piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" ( identifier , (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }" { (expression_statement "iStack_298 = 0;" (assignment_expression "iStack_298 = 0" identifier = number_literal) ;) (expression_statement "dVar33 = dStack_240;" (assignment_expression "dVar33 = dStack_240" identifier = identifier) ;) }) (else_clause "else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" else (compound_statement "{\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" { (expression_statement "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);" (assignment_expression "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x721c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x721c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x721c)" * (cast_expression "(code **)(pcStack_2a0 + -0x721c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x721c)" ( (binary_expression "pcStack_2a0 + -0x721c" identifier + number_literal) ))))) )) (argument_list "(9,0,iVar15)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "dVar33 = dStack_240;" (assignment_expression "dVar33 = dStack_240" identifier = identifier) ;) }))) (if_statement "if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" if (parenthesized_expression "((*piVar10 == 2) && (0 < piVar10[9]))" ( (binary_expression "(*piVar10 == 2) && (0 < piVar10[9])" (parenthesized_expression "(*piVar10 == 2)" ( (binary_expression "*piVar10 == 2" (pointer_expression "*piVar10" * identifier) == number_literal) )) && (parenthesized_expression "(0 < piVar10[9])" ( (binary_expression "0 < piVar10[9]" number_literal < (subscript_expression "piVar10[9]" identifier [ number_literal ])) ))) )) (compound_statement "{\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (expression_statement "dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8)" identifier = (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uStack_294 = iStack_298 - 4;" (assignment_expression "uStack_294 = iStack_298 - 4" identifier = (binary_expression "iStack_298 - 4" identifier - number_literal)) ;) (expression_statement "pdStack_284 = &dStack_250;" (assignment_expression "pdStack_284 = &dStack_250" identifier = (pointer_expression "&dStack_250" & identifier)) ;) (expression_statement "puStack_290 = &uStack_268;" (assignment_expression "puStack_290 = &uStack_268" identifier = (pointer_expression "&uStack_268" & identifier)) ;) (expression_statement "puStack_28c = &uStack_260;" (assignment_expression "puStack_28c = &uStack_260" identifier = (pointer_expression "&uStack_260" & identifier)) ;) (expression_statement "dVar35 = *(double *)(iStack_280 + -0x39f0);" (assignment_expression "dVar35 = *(double *)(iStack_280 + -0x39f0)" identifier = (pointer_expression "*(double *)(iStack_280 + -0x39f0)" * (cast_expression "(double *)(iStack_280 + -0x39f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_280 + -0x39f0)" ( (binary_expression "iStack_280 + -0x39f0" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = piVar10[10];" (assignment_expression "iVar15 = piVar10[10]" identifier = (subscript_expression "piVar10[10]" identifier [ number_literal ])) ;) (expression_statement "puStack_288 = &uStack_258;" (assignment_expression "puStack_288 = &uStack_258" identifier = (pointer_expression "&uStack_258" & identifier)) ;) (expression_statement "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);" (assignment_expression "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4" (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) + (binary_expression "uStack_294 * 4" identifier * number_literal)) )))) ;) (expression_statement "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8)" identifier = (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "dStack_270 = dVar32;" (assignment_expression "dStack_270 = dVar32" identifier = identifier) ;) (do_statement "do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);" do (compound_statement "{\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        }" { (expression_statement "iVar15 = iVar15 + unaff_s8;" (assignment_expression "iVar15 = iVar15 + unaff_s8" identifier = (binary_expression "iVar15 + unaff_s8" identifier + identifier)) ;) (expression_statement "uStack_258 = *(undefined8 *)(iVar15 + 0x28);" (assignment_expression "uStack_258 = *(undefined8 *)(iVar15 + 0x28)" identifier = (pointer_expression "*(undefined8 *)(iVar15 + 0x28)" * (cast_expression "(undefined8 *)(iVar15 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uStack_260 = *(undefined8 *)(iVar15 + 0x30);" (assignment_expression "uStack_260 = *(undefined8 *)(iVar15 + 0x30)" identifier = (pointer_expression "*(undefined8 *)(iVar15 + 0x30)" * (cast_expression "(undefined8 *)(iVar15 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uStack_268 = *(undefined8 *)(iVar15 + 0x38);" (assignment_expression "uStack_268 = *(undefined8 *)(iVar15 + 0x38)" identifier = (pointer_expression "*(undefined8 *)(iVar15 + 0x38)" * (cast_expression "(undefined8 *)(iVar15 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x38)" ( (binary_expression "iVar15 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }" if (parenthesized_expression "(uStack_294 < 0xb)" ( (binary_expression "uStack_294 < 0xb" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }" { comment comment (expression_statement "puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();" (assignment_expression "puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))()" identifier = (cast_expression "(undefined *)(*(pcStack_2a0 + *unaff_s5))()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcStack_2a0 + *unaff_s5))()" (parenthesized_expression "(*(pcStack_2a0 + *unaff_s5))" ( (pointer_expression "*(pcStack_2a0 + *unaff_s5)" * (parenthesized_expression "(pcStack_2a0 + *unaff_s5)" ( (binary_expression "pcStack_2a0 + *unaff_s5" identifier + (pointer_expression "*unaff_s5" * identifier)) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar22;" return identifier ;) })) (expression_statement "pdStack_2b0 = pdStack_284;" (assignment_expression "pdStack_2b0 = pdStack_284" identifier = identifier) ;) (expression_statement "uStack_2b8 = (double)uStack_268;" (assignment_expression "uStack_2b8 = (double)uStack_268" identifier = (cast_expression "(double)uStack_268" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdStack_2ac = &dStack_218;" (assignment_expression "pdStack_2ac = &dStack_218" identifier = (pointer_expression "&dStack_218" & identifier)) ;) (expression_statement "pdStack_2a8 = &dStack_248;" (assignment_expression "pdStack_2a8 = &dStack_248" identifier = (pointer_expression "&dStack_248" & identifier)) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7b7c))();" (call_expression "(**(code **)(pcStack_2a0 + -0x7b7c))()" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b7c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7b7c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7b7c)" * (cast_expression "(code **)(pcStack_2a0 + -0x7b7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7b7c)" ( (binary_expression "pcStack_2a0 + -0x7b7c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);" (assignment_expression "dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" identifier = (cast_expression "(double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x6ef8))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x6ef8)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x6ef8)" * (cast_expression "(code **)(pcStack_2a0 + -0x6ef8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x6ef8)" ( (binary_expression "pcStack_2a0 + -0x6ef8" identifier + number_literal) ))))) )) (argument_list "(dVar31 - dStack_278,dVar35)" ( (binary_expression "dVar31 - dStack_278" identifier - identifier) , identifier ))))) ;) (expression_statement "pdStack_2a8 = (double *)puStack_290;" (assignment_expression "pdStack_2a8 = (double *)puStack_290" identifier = (cast_expression "(double *)puStack_290" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdStack_2ac = (double *)puStack_28c;" (assignment_expression "pdStack_2ac = (double *)puStack_28c" identifier = (cast_expression "(double *)puStack_28c" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdStack_2b0 = (double *)puStack_288;" (assignment_expression "pdStack_2b0 = (double *)puStack_288" identifier = (cast_expression "(double *)puStack_288" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "dStack_250 = dVar29 / dVar35 + dStack_250;" (assignment_expression "dStack_250 = dVar29 / dVar35 + dStack_250" identifier = (binary_expression "dVar29 / dVar35 + dStack_250" (binary_expression "dVar29 / dVar35" identifier / identifier) + identifier)) ;) (expression_statement "dStack_218 = param_5 * dVar32 * dStack_218;" (assignment_expression "dStack_218 = param_5 * dVar32 * dStack_218" identifier = (binary_expression "param_5 * dVar32 * dStack_218" (binary_expression "param_5 * dVar32" identifier * identifier) * identifier)) ;) (expression_statement "uStack_2b8 = dVar33 * dVar32 * dStack_248;" (assignment_expression "uStack_2b8 = dVar33 * dVar32 * dStack_248" identifier = (binary_expression "dVar33 * dVar32 * dStack_248" (binary_expression "dVar33 * dVar32" identifier * identifier) * identifier)) ;) (expression_statement "dStack_248 = uStack_2b8;" (assignment_expression "dStack_248 = uStack_2b8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);" (call_expression "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7230))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7230)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7230)" * (cast_expression "(code **)(pcStack_2a0 + -0x7230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7230)" ( (binary_expression "pcStack_2a0 + -0x7230" identifier + number_literal) ))))) )) (argument_list "(dStack_250,dStack_218)" ( identifier , identifier ))) ;) (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" identifier = (binary_expression "unaff_s6 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = piVar10[10];" (assignment_expression "iVar15 = piVar10[10]" identifier = (subscript_expression "piVar10[10]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = piVar10[9];" (assignment_expression "iVar20 = piVar10[9]" identifier = (subscript_expression "piVar10[9]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = iVar15 + unaff_s8;" (assignment_expression "iVar5 = iVar15 + unaff_s8" identifier = (binary_expression "iVar15 + unaff_s8" identifier + identifier)) ;) (expression_statement "unaff_s8 = unaff_s8 + 0x58;" (assignment_expression "unaff_s8 = unaff_s8 + 0x58" identifier = (binary_expression "unaff_s8 + 0x58" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)(iVar5 + 0x28) = uStack_258;" (assignment_expression "*(undefined8 *)(iVar5 + 0x28) = uStack_258" (pointer_expression "*(undefined8 *)(iVar5 + 0x28)" * (cast_expression "(undefined8 *)(iVar5 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar5 + 0x30) = uStack_260;" (assignment_expression "*(undefined8 *)(iVar5 + 0x30) = uStack_260" (pointer_expression "*(undefined8 *)(iVar5 + 0x30)" * (cast_expression "(undefined8 *)(iVar5 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar5 + 0x38) = uStack_268;" (assignment_expression "*(undefined8 *)(iVar5 + 0x38) = uStack_268" (pointer_expression "*(undefined8 *)(iVar5 + 0x38)" * (cast_expression "(undefined8 *)(iVar5 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(unaff_s6 < iVar20)" ( (binary_expression "unaff_s6 < iVar20" identifier < identifier) )) ;) (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79dc)" ( (binary_expression "pcStack_2a0 + -0x79dc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" else (compound_statement "{\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" { (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79dc)" ( (binary_expression "pcStack_2a0 + -0x79dc" identifier + number_literal) ))))) ;) }))) (expression_statement "local_a0 = &dStack_218;" (assignment_expression "local_a0 = &dStack_218" identifier = (pointer_expression "&dStack_218" & identifier)) ;) (expression_statement "pdStack_e8 = &dStack_248;" (assignment_expression "pdStack_e8 = &dStack_248" identifier = (pointer_expression "&dStack_248" & identifier)) ;) (expression_statement "dStack_248 = 0.0;" (assignment_expression "dStack_248 = 0.0" identifier = number_literal) ;) (expression_statement "uVar3 = (*pcVar25)(piVar10,iVar2);" (assignment_expression "uVar3 = (*pcVar25)(piVar10,iVar2)" identifier = (call_expression "(*pcVar25)(piVar10,iVar2)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(piVar10,iVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))))" ( (binary_expression "((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))" (parenthesized_expression "((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))" ( (binary_expression "(iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (parenthesized_expression "(iVar15 == 4)" ( (binary_expression "iVar15 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" ( (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar15 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))" ( (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))" ( (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (binary_expression "iVar15 == 4" identifier == number_literal) || (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" ( (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar15 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar20 = piVar10[7];" (assignment_expression "iVar20 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = iVar20;" (assignment_expression "iVar15 = iVar20" identifier = identifier) ;) (if_statement "if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }" if (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar15 = iVar20 + 0x3f;\n        }" { (expression_statement "iVar15 = iVar20 + 0x3f;" (assignment_expression "iVar15 = iVar20 + 0x3f" identifier = (binary_expression "iVar20 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1_04 < iVar15 >> 6)" ( (binary_expression "extraout_v1_04 < iVar15 >> 6" identifier < (binary_expression "iVar15 >> 6" identifier >> number_literal)) )) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_06 < 2;" (assignment_expression "bVar1 = extraout_v1_06 < 2" identifier = (binary_expression "extraout_v1_06 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar20 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar20 < 0x80;\n        }" { (expression_statement "bVar1 = iVar20 < 0x80;" (assignment_expression "bVar1 = iVar20 < 0x80" identifier = (binary_expression "iVar20 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar15 = piVar10[7];" (assignment_expression "iVar15 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar15 = iVar15 + 0x3f;\n          }" { (expression_statement "iVar15 = iVar15 + 0x3f;" (assignment_expression "iVar15 = iVar15 + 0x3f" identifier = (binary_expression "iVar15 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar15 = iVar15 >> 6;" (assignment_expression "iVar15 = iVar15 >> 6" identifier = (binary_expression "iVar15 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" if (parenthesized_expression "(extraout_v1_05 < iVar15)" ( (binary_expression "extraout_v1_05 < iVar15" identifier < identifier) )) (compound_statement "{\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" { (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cdc0c;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" else (compound_statement "{\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" { (expression_statement "uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);" (assignment_expression "uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }" { (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" { (expression_statement "uVar36 = (*pcVar25)(7);" (assignment_expression "uVar36 = (*pcVar25)(7)" identifier = (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000cd4bc;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000cd4d8;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" else (compound_statement "{\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" { (labeled_statement "LAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" statement_identifier : (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar36 = (*pcVar25)(7);" (assignment_expression "uVar36 = (*pcVar25)(7)" identifier = (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)" ( (comma_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }" { (labeled_statement "LAB_000cdc0c:\n          (*pcVar25)(7);" statement_identifier : (expression_statement "(*pcVar25)(7);" (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar15 = extraout_v1_03;" (assignment_expression "iVar15 = extraout_v1_03" identifier = identifier) ;) }) (else_clause "else {\n          iVar15 = 2;\n        }" else (compound_statement "{\n          iVar15 = 2;\n        }" { (expression_statement "iVar15 = 2;" (assignment_expression "iVar15 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000cd4d8:\n      iStack_1f4 = iStack_298;" statement_identifier : (expression_statement "iStack_1f4 = iStack_298;" (assignment_expression "iStack_1f4 = iStack_298" identifier = identifier) ;)) (expression_statement "puStack_1f0 = (undefined *)0x1;" (assignment_expression "puStack_1f0 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar12 = local_a0;" (assignment_expression "pdVar12 = local_a0" identifier = identifier) ;) (expression_statement "dStack_210 = dVar31;" (assignment_expression "dStack_210 = dVar31" identifier = identifier) ;) (expression_statement "dStack_208 = param_5;" (assignment_expression "dStack_208 = param_5" identifier = identifier) ;) (expression_statement "piStack_200 = piVar10;" (assignment_expression "piStack_200 = piVar10" identifier = identifier) ;) (expression_statement "iStack_1fc = iVar2;" (assignment_expression "iStack_1fc = iVar2" identifier = identifier) ;) (expression_statement "uStack_1f8 = uVar3;" (assignment_expression "uStack_1f8 = uVar3" identifier = identifier) ;) (expression_statement "pdStack_1ec = pdStack_e8;" (assignment_expression "pdStack_1ec = pdStack_e8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);" (call_expression "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7718))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7718)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7718)" * (cast_expression "(code **)(pcStack_2a0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7718)" ( (binary_expression "pcStack_2a0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8" (pointer_expression "*(int *)(pcStack_2a0 + -0x7e4c)" * (cast_expression "(int *)(pcStack_2a0 + -0x7e4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7e4c)" ( (binary_expression "pcStack_2a0 + -0x7e4c" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "puVar22 = puStack_1f0;" (assignment_expression "puVar22 = puStack_1f0" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x79bc))(uVar3);" (call_expression "(**(code **)(pcStack_2a0 + -0x79bc))(uVar3)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x79bc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x79bc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x79bc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79bc)" ( (binary_expression "pcStack_2a0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" else (compound_statement "{\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" { (expression_statement "iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;" (assignment_expression "iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400" identifier = (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5400" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);" (assignment_expression "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" identifier = (cast_expression "(double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" identifier (argument_list "(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f4) + -0x62ac" (pointer_expression "*(int *)(pcVar26 + 0x2db5f4)" * (cast_expression "(int *)(pcVar26 + 0x2db5f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f4)" ( (binary_expression "pcVar26 + 0x2db5f4" identifier + number_literal) )))) + number_literal) , (binary_expression "piVar10 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);" (call_expression "(**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dbef0))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dbef0)" * (pointer_expression "*(code **)(pcVar26 + 0x2dbef0)" * (cast_expression "(code **)(pcVar26 + 0x2dbef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dbef0)" ( (binary_expression "pcVar26 + 0x2dbef0" identifier + number_literal) ))))) )) (argument_list "(0x8000,pdVar12,iVar15,0xe50)" ( number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (pdVar4 != (double *)0x0) goto LAB_000cd380;" if (parenthesized_expression "(pdVar4 != (double *)0x0)" ( (binary_expression "pdVar4 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd380;" goto statement_identifier ;)) (labeled_statement "LAB_000cd570:\n      puVar22 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar22 = (undefined *)0x0;" (assignment_expression "puVar22 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "piVar10 = piStack_1e4;" (assignment_expression "piVar10 = piStack_1e4" identifier = identifier) ;) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" identifier = identifier) ;) (expression_statement "pcVar25 = pcStack_2a0;" (assignment_expression "pcVar25 = pcStack_2a0" identifier = identifier) ;) (if_statement "if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }" if (parenthesized_expression "(piStack_1e4 == (int *)*piVar21)" ( (binary_expression "piStack_1e4 == (int *)*piVar21" identifier == (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) )) (compound_statement "{\n      return puVar22;\n    }" { (return_statement "return puVar22;" return identifier ;) })) }))) (expression_statement "pcVar25 = *(code **)(pcVar25 + -0x784c);" (assignment_expression "pcVar25 = *(code **)(pcVar25 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar25 + -0x784c)" * (cast_expression "(code **)(pcVar25 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + -0x784c)" ( (binary_expression "pcVar25 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = NegateImage;" (assignment_expression "pcVar26 = NegateImage" identifier = identifier) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)(pcVar25 + 0x2db428);" (assignment_expression "piVar23 = *(int **)(pcVar25 + 0x2db428)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x2db428)" * (cast_expression "(int **)(pcVar25 + 0x2db428)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db428)" ( (binary_expression "pcVar25 + 0x2db428" identifier + number_literal) ))))) ;) (expression_statement "iStack_30c = *piVar23;" (assignment_expression "iStack_30c = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "puStack_308 = puVar22;" (assignment_expression "puStack_308 = puVar22" identifier = identifier) ;) (expression_statement "piStack_304 = piVar21;" (assignment_expression "piStack_304 = piVar21" identifier = identifier) ;) (expression_statement "pdStack_300 = local_a0;" (assignment_expression "pdStack_300 = local_a0" identifier = identifier) ;) (expression_statement "iStack_2fc = unaff_s3;" (assignment_expression "iStack_2fc = unaff_s3" identifier = identifier) ;) (expression_statement "pdStack_2f8 = pdStack_e8;" (assignment_expression "pdStack_2f8 = pdStack_e8" identifier = identifier) ;) (expression_statement "piStack_2f4 = unaff_s5;" (assignment_expression "piStack_2f4 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_2f0 = unaff_s6;" (assignment_expression "iStack_2f0 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_2ec = unaff_s7;" (assignment_expression "piStack_2ec = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_2e8 = unaff_s8;" (assignment_expression "iStack_2e8 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_2e4 = pcVar26;" (assignment_expression "pcStack_2e4 = pcVar26" identifier = identifier) ;) (expression_statement "dStack_2e0 = dVar31;" (assignment_expression "dStack_2e0 = dVar31" identifier = identifier) ;) (expression_statement "dStack_2d8 = param_5;" (assignment_expression "dStack_2d8 = param_5" identifier = identifier) ;) (expression_statement "dStack_2d0 = dVar33;" (assignment_expression "dStack_2d0 = dVar33" identifier = identifier) ;) (if_statement "if (piVar10 == (int *)0x0) goto LAB_000ce444;" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce444;" goto statement_identifier ;)) (if_statement "if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }" if (parenthesized_expression "(piVar10[0xcdb] == -0x54535255)" ( (binary_expression "piVar10[0xcdb] == -0x54535255" (subscript_expression "piVar10[0xcdb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }" { (if_statement "if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }" if (parenthesized_expression "(piVar10[0xcd4] != 0)" ( (binary_expression "piVar10[0xcd4] != 0" (subscript_expression "piVar10[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }" { (expression_statement "(**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);" (call_expression "(**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db3d8))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db3d8)" * (pointer_expression "*(code **)(pcVar25 + 0x2db3d8)" * (cast_expression "(code **)(pcVar25 + 0x2db3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db3d8)" ( (binary_expression "pcVar25 + 0x2db3d8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53e8" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daadc) + -0x62ac" (pointer_expression "*(int *)(pcVar25 + 0x2daadc)" * (cast_expression "(int *)(pcVar25 + 0x2daadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daadc)" ( (binary_expression "pcVar25 + 0x2daadc" identifier + number_literal) )))) + number_literal) , (binary_expression "piVar10 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" if (parenthesized_expression "(*piVar10 == 2)" ( (binary_expression "*piVar10 == 2" (pointer_expression "*piVar10" * identifier) == number_literal) )) (compound_statement "{\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" { (expression_statement "iVar2 = piVar10[9];" (assignment_expression "iVar2 = piVar10[9]" identifier = (subscript_expression "piVar10[9]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 1) goto LAB_000cde94;" if (parenthesized_expression "(iVar2 < 1)" ( (binary_expression "iVar2 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000cde94;" goto statement_identifier ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x1a58" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (do_statement "do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);" do (compound_statement "{\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      }" { (if_statement "if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" if (parenthesized_expression "(pdVar12 == (double *)0x0)" ( (binary_expression "pdVar12 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }" { (labeled_statement "LAB_000ce184:\n          iVar27 = piVar10[0xb4];" statement_identifier : (expression_statement "iVar27 = piVar10[0xb4];" (assignment_expression "iVar27 = piVar10[0xb4]" identifier = (subscript_expression "piVar10[0xb4]" identifier [ number_literal ])) ;)) (if_statement "if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }" if (parenthesized_expression "((*(uint *)(iVar27 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar27 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 4) & 2)" ( (binary_expression "*(uint *)(iVar27 + 4) & 2" (pointer_expression "*(uint *)(iVar27 + 4)" * (cast_expression "(uint *)(iVar27 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 4)" ( (binary_expression "iVar27 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }" { (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x28)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x28)" ( (binary_expression "piVar10[10] + iVar20 + 0x28" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28)" identifier - (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x28)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x28)" ( (binary_expression "piVar10[10] + iVar20 + 0x28" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }" if (parenthesized_expression "((*(uint *)(iVar27 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar27 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar27 + 0x10) & 2" (pointer_expression "*(uint *)(iVar27 + 0x10)" * (cast_expression "(uint *)(iVar27 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x10)" ( (binary_expression "iVar27 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }" { (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x30)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x30)" ( (binary_expression "piVar10[10] + iVar20 + 0x30" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30)" identifier - (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x30)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x30)" ( (binary_expression "piVar10[10] + iVar20 + 0x30" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }" if (parenthesized_expression "((*(uint *)(iVar27 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar27 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar27 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar27 + 0x1c)" * (cast_expression "(uint *)(iVar27 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1c)" ( (binary_expression "iVar27 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }" { (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x38)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x38)" ( (binary_expression "piVar10[10] + iVar20 + 0x38" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38)" identifier - (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x38)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x38)" ( (binary_expression "piVar10[10] + iVar20 + 0x38" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) }) (else_clause "else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" else (compound_statement "{\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" { (expression_statement "iVar27 = piVar10[10] + iVar20;" (assignment_expression "iVar27 = piVar10[10] + iVar20" identifier = (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;" if (parenthesized_expression "((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38)))" ( (binary_expression "(*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))" (parenthesized_expression "(*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30))" ( (binary_expression "*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)" (pointer_expression "*(double *)(iVar27 + 0x28)" * (cast_expression "(double *)(iVar27 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) == (pointer_expression "*(double *)(iVar27 + 0x30)" * (cast_expression "(double *)(iVar27 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x30)" ( (binary_expression "iVar27 + 0x30" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))" ( (binary_expression "*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38)" (pointer_expression "*(double *)(iVar27 + 0x30)" * (cast_expression "(double *)(iVar27 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x30)" ( (binary_expression "iVar27 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(double *)(iVar27 + 0x38)" * (cast_expression "(double *)(iVar27 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x38)" ( (binary_expression "iVar27 + 0x38" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_000ce184;" goto statement_identifier ;)) }))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar20 + 0x58;" (assignment_expression "iVar20 = iVar20 + 0x58" identifier = (binary_expression "iVar20 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != iVar2)" ( (binary_expression "iVar5 != iVar2" identifier != identifier) )) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0cc)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0cc)" * (cast_expression "(code **)(pcVar25 + 0x2db0cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0cc)" ( (binary_expression "pcVar25 + 0x2db0cc" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" else (compound_statement "{\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" { (labeled_statement "LAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0cc)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0cc)" * (cast_expression "(code **)(pcVar25 + 0x2db0cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0cc)" ( (binary_expression "pcVar25 + 0x2db0cc" identifier + number_literal) ))))) ;)) }))) (expression_statement "uStack_324 = 0;" (assignment_expression "uStack_324 = 0" identifier = number_literal) ;) (expression_statement "iStack_328 = 0;" (assignment_expression "iStack_328 = 0" identifier = number_literal) ;) (expression_statement "uVar3 = (*pcVar26)(piVar10,iVar15);" (assignment_expression "uVar3 = (*pcVar26)(piVar10,iVar15)" identifier = (call_expression "(*pcVar26)(piVar10,iVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar10,iVar15)" ( identifier , identifier )))) ;) (if_statement "if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" if (parenthesized_expression "(pdVar12 == (double *)0x0)" ( (binary_expression "pdVar12 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }" { (expression_statement "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar20 = piVar10[7];" (assignment_expression "iVar20 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = iVar20;" (assignment_expression "iVar2 = iVar20" identifier = identifier) ;) (if_statement "if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }" if (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar2 = iVar20 + 0x3f;\n        }" { (expression_statement "iVar2 = iVar20 + 0x3f;" (assignment_expression "iVar2 = iVar20 + 0x3f" identifier = (binary_expression "iVar20 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1_07 < iVar2 >> 6)" ( (binary_expression "extraout_v1_07 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" identifier = (binary_expression "extraout_v1_11 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar20 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar20 < 0x80;\n        }" { (expression_statement "bVar1 = iVar20 < 0x80;" (assignment_expression "bVar1 = iVar20 < 0x80" identifier = (binary_expression "iVar20 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = piVar10[7];" (assignment_expression "iVar2 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar2 = iVar2 + 0x3f;\n          }" { (expression_statement "iVar2 = iVar2 + 0x3f;" (assignment_expression "iVar2 = iVar2 + 0x3f" identifier = (binary_expression "iVar2 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar2 = iVar2 >> 6;" (assignment_expression "iVar2 = iVar2 >> 6" identifier = (binary_expression "iVar2 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" if (parenthesized_expression "(extraout_v1_08 < iVar2)" ( (binary_expression "extraout_v1_08 < iVar2" identifier < identifier) )) (compound_statement "{\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = extraout_v1_10;" (assignment_expression "iVar2 = extraout_v1_10" identifier = identifier) ;) })) })) }) (else_clause "else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" else (compound_statement "{\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" { (expression_statement "uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);" (assignment_expression "uVar36 = (**(code **)(pcVar25 + 0x2db334))(7)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }" { (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" { (expression_statement "uVar36 = (*pcVar26)(7);" (assignment_expression "uVar36 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ce288;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000ce2a0;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" else (compound_statement "{\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" { (labeled_statement "LAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar36 = (*pcVar26)(7);" (assignment_expression "uVar36 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = extraout_v1_09;" (assignment_expression "iVar2 = extraout_v1_09" identifier = identifier) ;) }) (else_clause "else {\n          iVar2 = 2;\n        }" else (compound_statement "{\n          iVar2 = 2;\n        }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;" statement_identifier : (expression_statement "puStack_314 = (undefined *)0x1;" (assignment_expression "puStack_314 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "piStack_310 = &iStack_328;" (assignment_expression "piStack_310 = &iStack_328" identifier = (pointer_expression "&iStack_328" & identifier)) ;) (expression_statement "piStack_320 = piVar10;" (assignment_expression "piStack_320 = piVar10" identifier = identifier) ;) (expression_statement "iStack_31c = iVar15;" (assignment_expression "iStack_31c = iVar15" identifier = identifier) ;) (expression_statement "uStack_318 = uVar3;" (assignment_expression "uStack_318 = uVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);" (call_expression "(**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db390))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db390)" * (pointer_expression "*(code **)(pcVar25 + 0x2db390)" * (cast_expression "(code **)(pcVar25 + 0x2db390)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db390)" ( (binary_expression "pcVar25 + 0x2db390" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" ( (binary_expression "*(int *)(pcVar25 + 0x2dac5c) + -0xc84" (pointer_expression "*(int *)(pcVar25 + 0x2dac5c)" * (cast_expression "(int *)(pcVar25 + 0x2dac5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dac5c)" ( (binary_expression "pcVar25 + 0x2dac5c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&piStack_320" & identifier) , identifier , number_literal ))) ;) (expression_statement "puVar22 = puStack_314;" (assignment_expression "puVar22 = puStack_314" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0x2db0ec))(uVar3);" (call_expression "(**(code **)(pcVar25 + 0x2db0ec))(uVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db0ec))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db0ec)" * (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" * (cast_expression "(code **)(pcVar25 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0ec)" ( (binary_expression "pcVar25 + 0x2db0ec" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" else (compound_statement "{\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" { (if_statement "if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }" if (parenthesized_expression "(0 < piVar10[7])" ( (binary_expression "0 < piVar10[7]" number_literal < (subscript_expression "piVar10[7]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);" (assignment_expression "dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x13f8" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);" (assignment_expression "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x1a50" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar25 + 0x2daae0);" (assignment_expression "iVar2 = *(int *)(pcVar25 + 0x2daae0)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = piVar10[6];" (assignment_expression "iVar20 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) (expression_statement "dVar31 = dVar33;" (assignment_expression "dVar31 = dVar33" identifier = identifier) ;) (while_statement "while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }" while (parenthesized_expression "(pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0)" ( (comma_expression "pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0" (assignment_expression "pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" identifier = (cast_expression "(float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db844))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db844)" * (pointer_expression "*(code **)(pcVar25 + 0x2db844)" * (cast_expression "(code **)(pcVar25 + 0x2db844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db844)" ( (binary_expression "pcVar25 + 0x2db844" identifier + number_literal) ))))) )) (argument_list "(uVar3,0,iVar5,iVar20,1,iVar15)" ( identifier , number_literal , identifier , identifier , number_literal , identifier ))))) , (binary_expression "pfVar7 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }" { (expression_statement "iVar27 = piVar10[6];" (assignment_expression "iVar27 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }" if (parenthesized_expression "(0 < iVar27)" ( (binary_expression "0 < iVar27" number_literal < identifier) )) (compound_statement "{\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }" { (expression_statement "iVar19 = piVar10[0xb0];" (assignment_expression "iVar19 = piVar10[0xb0]" identifier = (subscript_expression "piVar10[0xb0]" identifier [ number_literal ])) ;) (expression_statement "piVar21 = (int *)piVar10[0xb4];" (assignment_expression "piVar21 = (int *)piVar10[0xb4]" identifier = (cast_expression "(int *)piVar10[0xb4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[0xb4]" identifier [ number_literal ]))) ;) (expression_statement "iVar17 = piVar21[2];" (assignment_expression "iVar17 = piVar21[2]" identifier = (subscript_expression "piVar21[2]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = piVar21[5];" (assignment_expression "iVar16 = piVar21[5]" identifier = (subscript_expression "piVar21[5]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar21[8];" (assignment_expression "iVar18 = piVar21[8]" identifier = (subscript_expression "piVar21[8]" identifier [ number_literal ])) ;) (do_statement "do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);" do (compound_statement "{\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            }" { (while_statement "while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }" { (expression_statement "dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];" (assignment_expression "dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16]" identifier = (binary_expression "(double)pfVar7[iVar17] - (double)pfVar7[iVar16]" (cast_expression "(double)pfVar7[iVar17]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar17]" identifier [ identifier ])) - (cast_expression "(double)pfVar7[iVar16]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar16]" identifier [ identifier ])))) ;) (expression_statement "uVar8 = (uint)((ulonglong)dVar32 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)dVar32 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar32 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar32 >> 0x20)" ( (binary_expression "(ulonglong)dVar32 >> 0x20" (cast_expression "(ulonglong)dVar32" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }" if (parenthesized_expression "(dVar32 < 0.0)" ( (binary_expression "dVar32 < 0.0" identifier < number_literal) )) (compound_statement "{\n                  uVar8 = uVar8 ^ 0x80000000;\n                }" { (expression_statement "uVar8 = uVar8 ^ 0x80000000;" (assignment_expression "uVar8 = uVar8 ^ 0x80000000" identifier = (binary_expression "uVar8 ^ 0x80000000" identifier ^ number_literal)) ;) })) (if_statement "if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;" if (parenthesized_expression "((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31)" ( (binary_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31" (cast_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar8,SUB84(dVar32,0))" identifier (argument_list "(uVar8,SUB84(dVar32,0))" ( identifier , (call_expression "SUB84(dVar32,0)" identifier (argument_list "(dVar32,0)" ( identifier , number_literal ))) )))) < identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000cdf68:\n                iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar7 = pfVar7 + iVar19;" (assignment_expression "pfVar7 = pfVar7 + iVar19" identifier = (binary_expression "pfVar7 + iVar19" identifier + identifier)) ;) (if_statement "if (iVar20 == iVar27) goto LAB_000ce048;" if (parenthesized_expression "(iVar20 == iVar27)" ( (binary_expression "iVar20 == iVar27" identifier == identifier) )) (goto_statement "goto LAB_000ce048;" goto statement_identifier ;)) })) (expression_statement "dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];" (assignment_expression "dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18]" identifier = (binary_expression "(double)pfVar7[iVar16] - (double)pfVar7[iVar18]" (cast_expression "(double)pfVar7[iVar16]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar16]" identifier [ identifier ])) - (cast_expression "(double)pfVar7[iVar18]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar18]" identifier [ identifier ])))) ;) (expression_statement "uVar8 = (uint)((ulonglong)dVar32 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)dVar32 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar32 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar32 >> 0x20)" ( (binary_expression "(ulonglong)dVar32 >> 0x20" (cast_expression "(ulonglong)dVar32" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }" if (parenthesized_expression "(dVar32 < 0.0)" ( (binary_expression "dVar32 < 0.0" identifier < number_literal) )) (compound_statement "{\n                uVar8 = uVar8 ^ 0x80000000;\n              }" { (expression_statement "uVar8 = uVar8 ^ 0x80000000;" (assignment_expression "uVar8 = uVar8 ^ 0x80000000" identifier = (binary_expression "uVar8 ^ 0x80000000" identifier ^ number_literal)) ;) })) (if_statement "if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;" if (parenthesized_expression "((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1))" ( (binary_expression "(dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)" (parenthesized_expression "(dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0)))" ( (binary_expression "dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))" identifier <= (cast_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar8,SUB84(dVar32,0))" identifier (argument_list "(uVar8,SUB84(dVar32,0))" ( identifier , (call_expression "SUB84(dVar32,0)" identifier (argument_list "(dVar32,0)" ( identifier , number_literal ))) ))))) )) || (parenthesized_expression "(piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)" ( (comma_expression "piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1" (assignment_expression "piVar11 = piVar21" identifier = identifier) , (comma_expression "pfVar13 = pfVar7, iVar19 < 1" (assignment_expression "pfVar13 = pfVar7" identifier = identifier) , (binary_expression "iVar19 < 1" identifier < number_literal))) ))) )) (goto_statement "goto LAB_000cdf68;" goto statement_identifier ;)) (do_statement "do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);" do (compound_statement "{\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              }" { (if_statement "if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }" if (parenthesized_expression "((piVar21[*piVar11 * 3 + 1] & 2U) != 0)" ( (binary_expression "(piVar21[*piVar11 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar21[*piVar11 * 3 + 1] & 2U)" ( (binary_expression "piVar21[*piVar11 * 3 + 1] & 2U" (subscript_expression "piVar21[*piVar11 * 3 + 1]" identifier [ (binary_expression "*piVar11 * 3 + 1" (binary_expression "*piVar11 * 3" (pointer_expression "*piVar11" * identifier) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }" { (expression_statement "*pfVar13 = (float)uVar34 - *pfVar13;" (assignment_expression "*pfVar13 = (float)uVar34 - *pfVar13" (pointer_expression "*pfVar13" * identifier) = (binary_expression "(float)uVar34 - *pfVar13" (cast_expression "(float)uVar34" ( (type_descriptor "float" primitive_type) ) identifier) - (pointer_expression "*pfVar13" * identifier))) ;) })) (expression_statement "piVar11 = piVar11 + 3;" (assignment_expression "piVar11 = piVar11 + 3" identifier = (binary_expression "piVar11 + 3" identifier + number_literal)) ;) (expression_statement "pfVar13 = pfVar13 + 1;" (assignment_expression "pfVar13 = pfVar13 + 1" identifier = (binary_expression "pfVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar11 != piVar21 + iVar19 * 3)" ( (binary_expression "piVar11 != piVar21 + iVar19 * 3" identifier != (binary_expression "piVar21 + iVar19 * 3" identifier + (binary_expression "iVar19 * 3" identifier * number_literal))) )) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + iVar19;" (assignment_expression "pfVar7 = pfVar7 + iVar19" identifier = (binary_expression "pfVar7 + iVar19" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar20 != iVar27)" ( (binary_expression "iVar20 != iVar27" identifier != identifier) )) ;) })) (labeled_statement "LAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);" statement_identifier : (expression_statement "iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);" (assignment_expression "iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6f0))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6f0)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6f0)" * (cast_expression "(code **)(pcVar25 + 0x2db6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6f0)" ( (binary_expression "pcVar25 + 0x2db6f0" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar15)" ( identifier , identifier )))) ;)) (if_statement "if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }" if (parenthesized_expression "(piVar10[0xca] != 0)" ( (binary_expression "piVar10[0xca] != 0" (subscript_expression "piVar10[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }" { (expression_statement "uVar8 = uStack_324 + 1;" (assignment_expression "uVar8 = uStack_324 + 1" identifier = (binary_expression "uStack_324 + 1" identifier + number_literal)) ;) (expression_statement "iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;" (assignment_expression "iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328" identifier = (binary_expression "(uint)(uVar8 < uStack_324) + iStack_328" (call_expression "(uint)(uVar8 < uStack_324)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uStack_324)" ( (binary_expression "uVar8 < uStack_324" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_324 = uVar8;" (assignment_expression "uStack_324 = uVar8" identifier = identifier) ;) (expression_statement "iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);" (assignment_expression "iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" identifier = (call_expression "(**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" (parenthesized_expression "(**(code **)(pcVar25 + 0x2daeac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2daeac)" * (pointer_expression "*(code **)(pcVar25 + 0x2daeac)" * (cast_expression "(code **)(pcVar25 + 0x2daeac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2daeac)" ( (binary_expression "pcVar25 + 0x2daeac" identifier + number_literal) ))))) )) (argument_list "(piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" ( identifier , (binary_expression "iVar2 + 0x4f90" identifier + number_literal) , identifier , identifier , number_literal , (subscript_expression "piVar10[7]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (piVar10[7] <= iVar5) break;" if (parenthesized_expression "(piVar10[7] <= iVar5)" ( (binary_expression "piVar10[7] <= iVar5" (subscript_expression "piVar10[7]" identifier [ number_literal ]) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0ec);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0ec)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" * (cast_expression "(code **)(pcVar25 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0ec)" ( (binary_expression "pcVar25 + 0x2db0ec" identifier + number_literal) ))))) ;) (if_statement "if (iVar20 == 0) goto LAB_000ce0b0;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ce0b0;" goto statement_identifier ;)) (expression_statement "iVar20 = piVar10[6];" (assignment_expression "iVar20 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) })) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0ec);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0ec)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" * (cast_expression "(code **)(pcVar25 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0ec)" ( (binary_expression "pcVar25 + 0x2db0ec" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ce0b0:\n      puVar22 = (undefined *)0x1;" statement_identifier : (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(*pcVar26)(uVar3);" (call_expression "(*pcVar26)(uVar3)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(uVar3)" ( identifier ))) ;) }))) (if_statement "if (iStack_30c == *piVar23) {\n      return puVar22;\n    }" if (parenthesized_expression "(iStack_30c == *piVar23)" ( (binary_expression "iStack_30c == *piVar23" identifier == (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n      return puVar22;\n    }" { (return_statement "return puVar22;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0x2db25c))();" (call_expression "(**(code **)(pcVar25 + 0x2db25c))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db25c))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db25c)" * (pointer_expression "*(code **)(pcVar25 + 0x2db25c)" * (cast_expression "(code **)(pcVar25 + 0x2db25c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db25c)" ( (binary_expression "pcVar25 + 0x2db25c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);" (call_expression "(**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db800))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db800)" * (pointer_expression "*(code **)(pcVar25 + 0x2db800)" * (cast_expression "(code **)(pcVar25 + 0x2db800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db800)" ( (binary_expression "pcVar25 + 0x2db800" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" ( (binary_expression "*(int *)(pcVar25 + 0x2daae0) + -0x3784" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db800);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db800)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db800)" * (cast_expression "(code **)(pcVar25 + 0x2db800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db800)" ( (binary_expression "pcVar25 + 0x2db800" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);" (call_expression "(*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0xdd0" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();" (assignment_expression "puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))()" identifier = (cast_expression "(undefined *)(**(code **)(pcVar26 + 0x2dad50))()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x2dad50))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dad50))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dad50)" * (pointer_expression "*(code **)(pcVar26 + 0x2dad50)" * (cast_expression "(code **)(pcVar26 + 0x2dad50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dad50)" ( (binary_expression "pcVar26 + 0x2dad50" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar22;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType\nLevelizeImage(Image *image,double black_point,double white_point,double gamma,\n             ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  int iVar2;\n  size_t sVar3;\n  PixelChannelMap *pPVar4;\n  MagickBooleanType MVar5;\n  undefined4 uVar6;\n  double *pdVar7;\n  int iVar8;\n  double *pdVar9;\n  float *pfVar10;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar11;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  size_t sVar12;\n  undefined *puVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined *puVar16;\n  double *pdVar17;\n  float *pfVar18;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined *puVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  undefined *puVar25;\n  int iVar26;\n  int *piVar27;\n  int unaff_s3;\n  MagickBooleanType MVar28;\n  int *unaff_s5;\n  int *piVar29;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int unaff_s8;\n  int iVar33;\n  double dVar34;\n  double dVar35;\n  float fVar36;\n  double dVar37;\n  double dVar38;\n  double dVar39;\n  ulonglong uVar40;\n  double dVar41;\n  undefined8 uVar42;\n  undefined8 in_stack_00000018;\n  MagickBooleanType in_stack_00000020;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  MagickBooleanType MStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  MagickBooleanType MStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  MagickOffsetType progress;\n  undefined local_88 [8];\n  double local_80;\n  Image *local_70;\n  int local_68;\n  MagickBooleanType local_64;\n  MagickOffsetType *local_60;\n  undefined *local_54;\n  \n  puVar25 = PTR___stack_chk_guard_003a9230;\n  dVar37 = (double)CONCAT44(in_a2,in_a3);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (image == (Image *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060;\n    puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (image->signature != 0xabacadab) goto LAB_000cc830;\n    if (image->debug != MagickFalse) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }\n    progress._4_4_ = 0;\n    progress._0_4_ = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n    if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar19 = (undefined *)0x0;\n    local_64 = MagickTrue;\n    local_60 = &progress;\n    puVar16 = local_88;\n    local_80 = gamma;\n    local_70 = image;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    in_stack_00000020 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar13 = local_54;\n    if (local_54 == *(undefined **)puVar25) {\n      return in_stack_00000020;\n    }\n  }\n  puVar30 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar13 != (undefined *)0x0) {\n    if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n      if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }\n      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n      pcVar31 = *(code **)(puVar30 + 0x2dca10);\nLAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);\n      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n      return MVar28 & MVar5;\n    }\n    (**(code **)(puVar30 + 0x2dcda8))\n              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c);\n    puVar25 = puVar13;\n  }\n  uVar6 = 0xc92;\n  pcVar31 = *(code **)(puVar30 + 0x2dcda8);\n  iVar20 = *(int *)(puVar30 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar30 + 0x2dc080) + 0xdd0;\n  (*pcVar31)(iVar2,*(int *)(puVar30 + 0x2dc088) + 0x5060);\n  dVar39 = (double)CONCAT44(uVar6,iVar20);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);\n      if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2dc76c))\n              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar32 = *(code **)(pcVar31 + 0x2dc76c);\n  pdVar7 = (double *)(*(int *)(pcVar31 + 0x2dba4c) + 0x5060);\n  piVar14 = (int *)(*(int *)(pcVar31 + 0x2dba44) + 0xdd0);\n  (*pcVar32)();\n  pcVar31 = pcVar32 + 0x2e35c0;\n  piVar27 = *(int **)(pcVar32 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar27;\n  pcStack_2a0 = pcVar31;\n  puStack_1e0 = puVar25;\n  MStack_1dc = in_stack_00000020;\n  iStack_1d4 = unaff_s3;\n  if (piVar14 == (int *)0x0) {\nLAB_000cddd8:\n    iVar20 = 0xe4d;\n    pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n    piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar32 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar14;\n    if (piVar14[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar14[0xcd4] == 0) {\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }\n    else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }\n    piVar14 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar31 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar27) {\n      return (MagickBooleanType)puVar25;\n    }\n  }\n  pcVar31 = *(code **)(pcVar31 + -0x784c);\n  pcVar32 = NegateImage;\n  (*pcVar31)();\n  piVar29 = *(int **)(pcVar31 + 0x2db428);\n  iStack_30c = *piVar29;\n  puStack_308 = puVar25;\n  piStack_304 = piVar27;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar32;\n  dStack_2e0 = dVar37;\n  dStack_2d8 = gamma;\n  dStack_2d0 = dVar39;\n  if (piVar14 == (int *)0x0) goto LAB_000ce444;\n  if (piVar14[0xcdb] == -0x54535255) {\n    if (piVar14[0xcd4] != 0) {\n      (**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);\n    }\n    if (*piVar14 == 2) {\n      iVar2 = piVar14[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar26 = 0;\n      iVar8 = 0;\n      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar6 = (*pcVar32)(piVar14,iVar20);\n    if (pdVar17 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      MStack_314 = MagickTrue;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar14;\n      iStack_31c = iVar20;\n      uStack_318 = uVar6;\n      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      MVar28 = MStack_314;\n      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);\n    }\n    else {\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }\n    if (iStack_30c == *piVar29) {\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2db25c))();\n  }\n  (**(code **)(pcVar31 + 0x2db800))\n            (*(int *)(pcVar31 + 0x2daae0) + -0x3784,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar32 = *(code **)(pcVar31 + 0x2db800);\n  (*pcVar32)(*(int *)(pcVar31 + 0x2daad8) + 0xdd0,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);\n  MVar28 = (**(code **)(pcVar32 + 0x2dad50))();\n  return MVar28;\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType\nLevelizeImage(Image *image,double black_point,double white_point,double gamma,\n             ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  int iVar2;\n  size_t sVar3;\n  PixelChannelMap *pPVar4;\n  MagickBooleanType MVar5;\n  undefined4 uVar6;\n  double *pdVar7;\n  int iVar8;\n  double *pdVar9;\n  float *pfVar10;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar11;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  size_t sVar12;\n  undefined *puVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined *puVar16;\n  double *pdVar17;\n  float *pfVar18;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined *puVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  undefined *puVar25;\n  int iVar26;\n  int *piVar27;\n  int unaff_s3;\n  MagickBooleanType MVar28;\n  int *unaff_s5;\n  int *piVar29;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int unaff_s8;\n  int iVar33;\n  double dVar34;\n  double dVar35;\n  float fVar36;\n  double dVar37;\n  double dVar38;\n  double dVar39;\n  ulonglong uVar40;\n  double dVar41;\n  undefined8 uVar42;\n  undefined8 in_stack_00000018;\n  MagickBooleanType in_stack_00000020;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  MagickBooleanType MStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  MagickBooleanType MStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  MagickOffsetType progress;\n  undefined local_88 [8];\n  double local_80;\n  Image *local_70;\n  int local_68;\n  MagickBooleanType local_64;\n  MagickOffsetType *local_60;\n  undefined *local_54;\n  \n  puVar25 = PTR___stack_chk_guard_003a9230;\n  dVar37 = (double)CONCAT44(in_a2,in_a3);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (image == (Image *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060;\n    puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (image->signature != 0xabacadab) goto LAB_000cc830;\n    if (image->debug != MagickFalse) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }\n    progress._4_4_ = 0;\n    progress._0_4_ = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n    if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar19 = (undefined *)0x0;\n    local_64 = MagickTrue;\n    local_60 = &progress;\n    puVar16 = local_88;\n    local_80 = gamma;\n    local_70 = image;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    in_stack_00000020 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar13 = local_54;\n    if (local_54 == *(undefined **)puVar25) {\n      return in_stack_00000020;\n    }\n  }\n  puVar30 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar13 != (undefined *)0x0) {\n    if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n      if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }\n      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n      pcVar31 = *(code **)(puVar30 + 0x2dca10);\nLAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);\n      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n      return MVar28 & MVar5;\n    }\n    (**(code **)(puVar30 + 0x2dcda8))\n              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c);\n    puVar25 = puVar13;\n  }\n  uVar6 = 0xc92;\n  pcVar31 = *(code **)(puVar30 + 0x2dcda8);\n  iVar20 = *(int *)(puVar30 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar30 + 0x2dc080) + 0xdd0;\n  (*pcVar31)(iVar2,*(int *)(puVar30 + 0x2dc088) + 0x5060);\n  dVar39 = (double)CONCAT44(uVar6,iVar20);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);\n      if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2dc76c))\n              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar32 = *(code **)(pcVar31 + 0x2dc76c);\n  pdVar7 = (double *)(*(int *)(pcVar31 + 0x2dba4c) + 0x5060);\n  piVar14 = (int *)(*(int *)(pcVar31 + 0x2dba44) + 0xdd0);\n  (*pcVar32)();\n  pcVar31 = pcVar32 + 0x2e35c0;\n  piVar27 = *(int **)(pcVar32 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar27;\n  pcStack_2a0 = pcVar31;\n  puStack_1e0 = puVar25;\n  MStack_1dc = in_stack_00000020;\n  iStack_1d4 = unaff_s3;\n  if (piVar14 == (int *)0x0) {\nLAB_000cddd8:\n    iVar20 = 0xe4d;\n    pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n    piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar32 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar14;\n    if (piVar14[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar14[0xcd4] == 0) {\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }\n    else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }\n    piVar14 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar31 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar27) {\n      return (MagickBooleanType)puVar25;\n    }\n  }\n  pcVar31 = *(code **)(pcVar31 + -0x784c);\n  pcVar32 = NegateImage;\n  (*pcVar31)();\n  piVar29 = *(int **)(pcVar31 + 0x2db428);\n  iStack_30c = *piVar29;\n  puStack_308 = puVar25;\n  piStack_304 = piVar27;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar32;\n  dStack_2e0 = dVar37;\n  dStack_2d8 = gamma;\n  dStack_2d0 = dVar39;\n  if (piVar14 == (int *)0x0) goto LAB_000ce444;\n  if (piVar14[0xcdb] == -0x54535255) {\n    if (piVar14[0xcd4] != 0) {\n      (**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);\n    }\n    if (*piVar14 == 2) {\n      iVar2 = piVar14[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar26 = 0;\n      iVar8 = 0;\n      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar6 = (*pcVar32)(piVar14,iVar20);\n    if (pdVar17 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      MStack_314 = MagickTrue;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar14;\n      iStack_31c = iVar20;\n      uStack_318 = uVar6;\n      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      MVar28 = MStack_314;\n      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);\n    }\n    else {\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }\n    if (iStack_30c == *piVar29) {\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2db25c))();\n  }\n  (**(code **)(pcVar31 + 0x2db800))\n            (*(int *)(pcVar31 + 0x2daae0) + -0x3784,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar32 = *(code **)(pcVar31 + 0x2db800);\n  (*pcVar32)(*(int *)(pcVar31 + 0x2daad8) + 0xdd0,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);\n  MVar28 = (**(code **)(pcVar32 + 0x2dad50))();\n  return MVar28;\n}" type_identifier (function_declarator "LevelizeImage(Image *image,double black_point,double white_point,double gamma,\n             ExceptionInfo *exception)" identifier (parameter_list "(Image *image,double black_point,double white_point,double gamma,\n             ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "double black_point" primitive_type identifier) , (parameter_declaration "double white_point" primitive_type identifier) , (parameter_declaration "double gamma" primitive_type identifier) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  size_t sVar3;\n  PixelChannelMap *pPVar4;\n  MagickBooleanType MVar5;\n  undefined4 uVar6;\n  double *pdVar7;\n  int iVar8;\n  double *pdVar9;\n  float *pfVar10;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar11;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  size_t sVar12;\n  undefined *puVar13;\n  int *piVar14;\n  int *piVar15;\n  undefined *puVar16;\n  double *pdVar17;\n  float *pfVar18;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined *puVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  undefined *puVar25;\n  int iVar26;\n  int *piVar27;\n  int unaff_s3;\n  MagickBooleanType MVar28;\n  int *unaff_s5;\n  int *piVar29;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar30;\n  code *pcVar31;\n  code *pcVar32;\n  int unaff_s8;\n  int iVar33;\n  double dVar34;\n  double dVar35;\n  float fVar36;\n  double dVar37;\n  double dVar38;\n  double dVar39;\n  ulonglong uVar40;\n  double dVar41;\n  undefined8 uVar42;\n  undefined8 in_stack_00000018;\n  MagickBooleanType in_stack_00000020;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  MagickBooleanType MStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  MagickBooleanType MStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  MagickOffsetType progress;\n  undefined local_88 [8];\n  double local_80;\n  Image *local_70;\n  int local_68;\n  MagickBooleanType local_64;\n  MagickOffsetType *local_60;\n  undefined *local_54;\n  \n  puVar25 = PTR___stack_chk_guard_003a9230;\n  dVar37 = (double)CONCAT44(in_a2,in_a3);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (image == (Image *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060;\n    puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (image->signature != 0xabacadab) goto LAB_000cc830;\n    if (image->debug != MagickFalse) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }\n    progress._4_4_ = 0;\n    progress._0_4_ = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n    if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar19 = (undefined *)0x0;\n    local_64 = MagickTrue;\n    local_60 = &progress;\n    puVar16 = local_88;\n    local_80 = gamma;\n    local_70 = image;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    in_stack_00000020 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar13 = local_54;\n    if (local_54 == *(undefined **)puVar25) {\n      return in_stack_00000020;\n    }\n  }\n  puVar30 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar13 != (undefined *)0x0) {\n    if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n      if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }\n      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n      pcVar31 = *(code **)(puVar30 + 0x2dca10);\nLAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);\n      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n      return MVar28 & MVar5;\n    }\n    (**(code **)(puVar30 + 0x2dcda8))\n              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c);\n    puVar25 = puVar13;\n  }\n  uVar6 = 0xc92;\n  pcVar31 = *(code **)(puVar30 + 0x2dcda8);\n  iVar20 = *(int *)(puVar30 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar30 + 0x2dc080) + 0xdd0;\n  (*pcVar31)(iVar2,*(int *)(puVar30 + 0x2dc088) + 0x5060);\n  dVar39 = (double)CONCAT44(uVar6,iVar20);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);\n      if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2dc76c))\n              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar32 = *(code **)(pcVar31 + 0x2dc76c);\n  pdVar7 = (double *)(*(int *)(pcVar31 + 0x2dba4c) + 0x5060);\n  piVar14 = (int *)(*(int *)(pcVar31 + 0x2dba44) + 0xdd0);\n  (*pcVar32)();\n  pcVar31 = pcVar32 + 0x2e35c0;\n  piVar27 = *(int **)(pcVar32 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar27;\n  pcStack_2a0 = pcVar31;\n  puStack_1e0 = puVar25;\n  MStack_1dc = in_stack_00000020;\n  iStack_1d4 = unaff_s3;\n  if (piVar14 == (int *)0x0) {\nLAB_000cddd8:\n    iVar20 = 0xe4d;\n    pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n    piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar32 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar14;\n    if (piVar14[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar14[0xcd4] == 0) {\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }\n    else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }\n    piVar14 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar31 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar27) {\n      return (MagickBooleanType)puVar25;\n    }\n  }\n  pcVar31 = *(code **)(pcVar31 + -0x784c);\n  pcVar32 = NegateImage;\n  (*pcVar31)();\n  piVar29 = *(int **)(pcVar31 + 0x2db428);\n  iStack_30c = *piVar29;\n  puStack_308 = puVar25;\n  piStack_304 = piVar27;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar32;\n  dStack_2e0 = dVar37;\n  dStack_2d8 = gamma;\n  dStack_2d0 = dVar39;\n  if (piVar14 == (int *)0x0) goto LAB_000ce444;\n  if (piVar14[0xcdb] == -0x54535255) {\n    if (piVar14[0xcd4] != 0) {\n      (**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);\n    }\n    if (*piVar14 == 2) {\n      iVar2 = piVar14[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar26 = 0;\n      iVar8 = 0;\n      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar6 = (*pcVar32)(piVar14,iVar20);\n    if (pdVar17 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      MStack_314 = MagickTrue;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar14;\n      iStack_31c = iVar20;\n      uStack_318 = uVar6;\n      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      MVar28 = MStack_314;\n      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);\n    }\n    else {\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }\n    if (iStack_30c == *piVar29) {\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2db25c))();\n  }\n  (**(code **)(pcVar31 + 0x2db800))\n            (*(int *)(pcVar31 + 0x2daae0) + -0x3784,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar32 = *(code **)(pcVar31 + 0x2db800);\n  (*pcVar32)(*(int *)(pcVar31 + 0x2daad8) + 0xdd0,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);\n  MVar28 = (**(code **)(pcVar32 + 0x2dad50))();\n  return MVar28;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "PixelChannelMap *pPVar4;" type_identifier (pointer_declarator "*pPVar4" * identifier) ;) (declaration "MagickBooleanType MVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "double *pdVar9;" primitive_type (pointer_declarator "*pdVar9" * identifier) ;) (declaration "float *pfVar10;" primitive_type (pointer_declarator "*pfVar10" * identifier) ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int extraout_v1_03;" primitive_type identifier ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "int extraout_v1_08;" primitive_type identifier ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "int extraout_v1_10;" primitive_type identifier ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "double *pdVar17;" primitive_type (pointer_declarator "*pdVar17" * identifier) ;) (declaration "float *pfVar18;" primitive_type (pointer_declarator "*pfVar18" * identifier) ;) (declaration "undefined4 in_a2;" type_identifier identifier ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "MagickBooleanType MVar28;" type_identifier identifier ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "double dVar34;" primitive_type identifier ;) (declaration "double dVar35;" primitive_type identifier ;) (declaration "float fVar36;" primitive_type identifier ;) (declaration "double dVar37;" primitive_type identifier ;) (declaration "double dVar38;" primitive_type identifier ;) (declaration "double dVar39;" primitive_type identifier ;) (declaration "ulonglong uVar40;" type_identifier identifier ;) (declaration "double dVar41;" primitive_type identifier ;) (declaration "undefined8 uVar42;" type_identifier identifier ;) (declaration "undefined8 in_stack_00000018;" type_identifier identifier ;) (declaration "MagickBooleanType in_stack_00000020;" type_identifier identifier ;) (declaration "int iStack_328;" primitive_type identifier ;) (declaration "uint uStack_324;" type_identifier identifier ;) (declaration "int *piStack_320;" primitive_type (pointer_declarator "*piStack_320" * identifier) ;) (declaration "int iStack_31c;" primitive_type identifier ;) (declaration "undefined4 uStack_318;" type_identifier identifier ;) (declaration "MagickBooleanType MStack_314;" type_identifier identifier ;) (declaration "int *piStack_310;" primitive_type (pointer_declarator "*piStack_310" * identifier) ;) (declaration "int iStack_30c;" primitive_type identifier ;) (declaration "undefined *puStack_308;" type_identifier (pointer_declarator "*puStack_308" * identifier) ;) (declaration "int *piStack_304;" primitive_type (pointer_declarator "*piStack_304" * identifier) ;) (declaration "double *pdStack_300;" primitive_type (pointer_declarator "*pdStack_300" * identifier) ;) (declaration "int iStack_2fc;" primitive_type identifier ;) (declaration "double *pdStack_2f8;" primitive_type (pointer_declarator "*pdStack_2f8" * identifier) ;) (declaration "int *piStack_2f4;" primitive_type (pointer_declarator "*piStack_2f4" * identifier) ;) (declaration "int iStack_2f0;" primitive_type identifier ;) (declaration "int *piStack_2ec;" primitive_type (pointer_declarator "*piStack_2ec" * identifier) ;) (declaration "int iStack_2e8;" primitive_type identifier ;) (declaration "code *pcStack_2e4;" type_identifier (pointer_declarator "*pcStack_2e4" * identifier) ;) (declaration "double dStack_2e0;" primitive_type identifier ;) (declaration "double dStack_2d8;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "undefined8 uStack_2b8;" type_identifier identifier ;) (declaration "double *pdStack_2b0;" primitive_type (pointer_declarator "*pdStack_2b0" * identifier) ;) (declaration "double *pdStack_2ac;" primitive_type (pointer_declarator "*pdStack_2ac" * identifier) ;) (declaration "double *pdStack_2a8;" primitive_type (pointer_declarator "*pdStack_2a8" * identifier) ;) (declaration "code *pcStack_2a0;" type_identifier (pointer_declarator "*pcStack_2a0" * identifier) ;) (declaration "int iStack_298;" primitive_type identifier ;) (declaration "uint uStack_294;" type_identifier identifier ;) (declaration "undefined8 *puStack_290;" type_identifier (pointer_declarator "*puStack_290" * identifier) ;) (declaration "undefined8 *puStack_28c;" type_identifier (pointer_declarator "*puStack_28c" * identifier) ;) (declaration "undefined8 *puStack_288;" type_identifier (pointer_declarator "*puStack_288" * identifier) ;) (declaration "double *pdStack_284;" primitive_type (pointer_declarator "*pdStack_284" * identifier) ;) (declaration "int iStack_280;" primitive_type identifier ;) (declaration "int iStack_27c;" primitive_type identifier ;) (declaration "double dStack_278;" primitive_type identifier ;) (declaration "double dStack_270;" primitive_type identifier ;) (declaration "undefined8 uStack_268;" type_identifier identifier ;) (declaration "undefined8 uStack_260;" type_identifier identifier ;) (declaration "undefined8 uStack_258;" type_identifier identifier ;) (declaration "double dStack_250;" primitive_type identifier ;) (declaration "double dStack_248;" primitive_type identifier ;) (declaration "double dStack_240;" primitive_type identifier ;) (declaration "double dStack_238;" primitive_type identifier ;) (declaration "double dStack_230;" primitive_type identifier ;) (declaration "double dStack_218;" primitive_type identifier ;) (declaration "double dStack_210;" primitive_type identifier ;) (declaration "double dStack_208;" primitive_type identifier ;) (declaration "int *piStack_200;" primitive_type (pointer_declarator "*piStack_200" * identifier) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "undefined4 uStack_1f8;" type_identifier identifier ;) (declaration "int iStack_1f4;" primitive_type identifier ;) (declaration "undefined *puStack_1f0;" type_identifier (pointer_declarator "*puStack_1f0" * identifier) ;) (declaration "double *pdStack_1ec;" primitive_type (pointer_declarator "*pdStack_1ec" * identifier) ;) (declaration "int *piStack_1e4;" primitive_type (pointer_declarator "*piStack_1e4" * identifier) ;) (declaration "undefined *puStack_1e0;" type_identifier (pointer_declarator "*puStack_1e0" * identifier) ;) (declaration "MagickBooleanType MStack_1dc;" type_identifier identifier ;) (declaration "double *pdStack_1d8;" primitive_type (pointer_declarator "*pdStack_1d8" * identifier) ;) (declaration "int iStack_1d4;" primitive_type identifier ;) (declaration "double *pdStack_1d0;" primitive_type (pointer_declarator "*pdStack_1d0" * identifier) ;) (declaration "double dStack_f0;" primitive_type identifier ;) (declaration "double *pdStack_e8;" primitive_type (pointer_declarator "*pdStack_e8" * identifier) ;) (declaration "double *local_a0;" primitive_type (pointer_declarator "*local_a0" * identifier) ;) (declaration "MagickOffsetType progress;" type_identifier identifier ;) (declaration "undefined local_88 [8];" type_identifier (array_declarator "local_88 [8]" identifier [ number_literal ]) ;) (declaration "double local_80;" primitive_type identifier ;) (declaration "Image *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "MagickBooleanType local_64;" type_identifier identifier ;) (declaration "MagickOffsetType *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (expression_statement "puVar25 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar25 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "dVar37 = (double)CONCAT44(in_a2,in_a3);" (assignment_expression "dVar37 = (double)CONCAT44(in_a2,in_a3)" identifier = (cast_expression "(double)CONCAT44(in_a2,in_a3)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(in_a2,in_a3)" identifier (argument_list "(in_a2,in_a3)" ( identifier , identifier ))))) ;) (expression_statement "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(undefined **)PTR___stack_chk_guard_003a9230" * (cast_expression "(undefined **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (image == (Image *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060;\n    puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (image->signature != 0xabacadab) goto LAB_000cc830;\n    if (image->debug != MagickFalse) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }\n    progress._4_4_ = 0;\n    progress._0_4_ = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n    if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar19 = (undefined *)0x0;\n    local_64 = MagickTrue;\n    local_60 = &progress;\n    puVar16 = local_88;\n    local_80 = gamma;\n    local_70 = image;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    in_stack_00000020 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar13 = local_54;\n    if (local_54 == *(undefined **)puVar25) {\n      return in_stack_00000020;\n    }\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060;\n    puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier + number_literal) ))) ;) (labeled_statement "LAB_000cc830:\n    iVar2 = 0xc0b;" statement_identifier : (expression_statement "iVar2 = 0xc0b;" (assignment_expression "iVar2 = 0xc0b" identifier = number_literal) ;)) (expression_statement "puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;" (assignment_expression "puVar19 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier + number_literal)) ;) (expression_statement "puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060;" (assignment_expression "puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;" (assignment_expression "puVar13 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (image->signature != 0xabacadab) goto LAB_000cc830;\n    if (image->debug != MagickFalse) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }\n    progress._4_4_ = 0;\n    progress._0_4_ = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n    if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar19 = (undefined *)0x0;\n    local_64 = MagickTrue;\n    local_60 = &progress;\n    puVar16 = local_88;\n    local_80 = gamma;\n    local_70 = image;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    in_stack_00000020 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar13 = local_54;\n    if (local_54 == *(undefined **)puVar25) {\n      return in_stack_00000020;\n    }\n  }" else (compound_statement "{\n    if (image->signature != 0xabacadab) goto LAB_000cc830;\n    if (image->debug != MagickFalse) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }\n    progress._4_4_ = 0;\n    progress._0_4_ = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);\n    if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar19 = (undefined *)0x0;\n    local_64 = MagickTrue;\n    local_60 = &progress;\n    puVar16 = local_88;\n    local_80 = gamma;\n    local_70 = image;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    in_stack_00000020 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar13 = local_54;\n    if (local_54 == *(undefined **)puVar25) {\n      return in_stack_00000020;\n    }\n  }" { (if_statement "if (image->signature != 0xabacadab) goto LAB_000cc830;" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_000cc830;" goto statement_identifier ;)) (if_statement "if (image->debug != MagickFalse) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" { (expression_statement "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" identifier = (cast_expression "(double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" ( number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if ((image->storage_class == PseudoClass) && (0 < (int)image->colors)) {\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }" if (parenthesized_expression "((image->storage_class == PseudoClass) && (0 < (int)image->colors))" ( (binary_expression "(image->storage_class == PseudoClass) && (0 < (int)image->colors)" (parenthesized_expression "(image->storage_class == PseudoClass)" ( (binary_expression "image->storage_class == PseudoClass" (field_expression "image->storage_class" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(0 < (int)image->colors)" ( (binary_expression "0 < (int)image->colors" number_literal < (cast_expression "(int)image->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "image->colors" identifier -> field_identifier))) ))) )) (compound_statement "{\n      iVar2 = 0;\n      iVar20 = 0;\n      dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar35,0);\n      unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);\n      dVar39 = dVar35;\n      dVar38 = dVar35;\n      dVar41 = dVar35;\n      do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);\n    }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "dVar35 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = SUB84(dVar35,0);" (assignment_expression "unaff_s7 = SUB84(dVar35,0)" identifier = (call_expression "SUB84(dVar35,0)" identifier (argument_list "(dVar35,0)" ( identifier , number_literal )))) ;) (expression_statement "unaff_s6 = (int)((ulonglong)dVar35 >> 0x20);" (assignment_expression "unaff_s6 = (int)((ulonglong)dVar35 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)dVar35 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar35 >> 0x20)" ( (binary_expression "(ulonglong)dVar35 >> 0x20" (cast_expression "(ulonglong)dVar35" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "dVar39 = dVar35;" (assignment_expression "dVar39 = dVar35" identifier = identifier) ;) (expression_statement "dVar38 = dVar35;" (assignment_expression "dVar38 = dVar35" identifier = identifier) ;) (expression_statement "dVar41 = dVar35;" (assignment_expression "dVar41 = dVar35" identifier = identifier) ;) (do_statement "do {\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar20 < (int)image->colors);" do (compound_statement "{\n        pPVar4 = image->channel_map;\n        if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }\n        iVar20 = iVar20 + 1;\n        iVar2 = iVar2 + 0x58;\n      }" { (expression_statement "pPVar4 = image->channel_map;" (assignment_expression "pPVar4 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (if_statement "if ((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" if (parenthesized_expression "((pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait)" ( (binary_expression "(pPVar4->traits & UpdatePixelTrait) != UndefinedPixelTrait" (parenthesized_expression "(pPVar4->traits & UpdatePixelTrait)" ( (binary_expression "pPVar4->traits & UpdatePixelTrait" (field_expression "pPVar4->traits" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x28) * dVar39;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" { (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) (expression_statement "dVar34 = *(double *)(iVar26 + 0x28) * dVar39;" (assignment_expression "dVar34 = *(double *)(iVar26 + 0x28) * dVar39" identifier = (binary_expression "*(double *)(iVar26 + 0x28) * dVar39" (pointer_expression "*(double *)(iVar26 + 0x28)" * (cast_expression "(double *)(iVar26 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x28)" ( (binary_expression "iVar26 + 0x28" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar34)" ( (binary_expression "0.0 <= dVar34" number_literal <= identifier) )) (compound_statement "{\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" { (expression_statement "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);" (assignment_expression "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar34,in_stack_00000018)" ( identifier , identifier ))))) ;) (expression_statement "pPVar4 = image->channel_map;" (assignment_expression "pPVar4 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) })) (expression_statement "*(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);" (assignment_expression "*(double *)(iVar26 + 0x28) = (double)(float)((gamma - dVar37) * dVar34 + dVar37)" (pointer_expression "*(double *)(iVar26 + 0x28)" * (cast_expression "(double *)(iVar26 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x28)" ( (binary_expression "iVar26 + 0x28" identifier + number_literal) )))) = (cast_expression "(double)(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((gamma - dVar37) * dVar34 + dVar37)" ( (binary_expression "(gamma - dVar37) * dVar34 + dVar37" (binary_expression "(gamma - dVar37) * dVar34" (parenthesized_expression "(gamma - dVar37)" ( (binary_expression "gamma - dVar37" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" if (parenthesized_expression "((pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait)" ( (binary_expression "(pPVar4[1].traits & UpdatePixelTrait) != UndefinedPixelTrait" (parenthesized_expression "(pPVar4[1].traits & UpdatePixelTrait)" ( (binary_expression "pPVar4[1].traits & UpdatePixelTrait" (field_expression "pPVar4[1].traits" (subscript_expression "pPVar4[1]" identifier [ number_literal ]) . field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x30) * dVar38;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" { (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) (expression_statement "dVar34 = *(double *)(iVar26 + 0x30) * dVar38;" (assignment_expression "dVar34 = *(double *)(iVar26 + 0x30) * dVar38" identifier = (binary_expression "*(double *)(iVar26 + 0x30) * dVar38" (pointer_expression "*(double *)(iVar26 + 0x30)" * (cast_expression "(double *)(iVar26 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x30)" ( (binary_expression "iVar26 + 0x30" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar34)" ( (binary_expression "0.0 <= dVar34" number_literal <= identifier) )) (compound_statement "{\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" { (expression_statement "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);" (assignment_expression "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar34,in_stack_00000018)" ( identifier , identifier ))))) ;) (expression_statement "pPVar4 = image->channel_map;" (assignment_expression "pPVar4 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) })) (expression_statement "*(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);" (assignment_expression "*(double *)(iVar26 + 0x30) = (double)(float)((gamma - dVar37) * dVar34 + dVar37)" (pointer_expression "*(double *)(iVar26 + 0x30)" * (cast_expression "(double *)(iVar26 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x30)" ( (binary_expression "iVar26 + 0x30" identifier + number_literal) )))) = (cast_expression "(double)(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((gamma - dVar37) * dVar34 + dVar37)" ( (binary_expression "(gamma - dVar37) * dVar34 + dVar37" (binary_expression "(gamma - dVar37) * dVar34" (parenthesized_expression "(gamma - dVar37)" ( (binary_expression "gamma - dVar37" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" if (parenthesized_expression "((pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait)" ( (binary_expression "(pPVar4[2].traits & UpdatePixelTrait) != UndefinedPixelTrait" (parenthesized_expression "(pPVar4[2].traits & UpdatePixelTrait)" ( (binary_expression "pPVar4[2].traits & UpdatePixelTrait" (field_expression "pPVar4[2].traits" (subscript_expression "pPVar4[2]" identifier [ number_literal ]) . field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x38) * dVar41;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" { (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) (expression_statement "dVar34 = *(double *)(iVar26 + 0x38) * dVar41;" (assignment_expression "dVar34 = *(double *)(iVar26 + 0x38) * dVar41" identifier = (binary_expression "*(double *)(iVar26 + 0x38) * dVar41" (pointer_expression "*(double *)(iVar26 + 0x38)" * (cast_expression "(double *)(iVar26 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x38)" ( (binary_expression "iVar26 + 0x38" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar34)" ( (binary_expression "0.0 <= dVar34" number_literal <= identifier) )) (compound_statement "{\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            pPVar4 = image->channel_map;\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" { (expression_statement "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);" (assignment_expression "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar34,in_stack_00000018)" ( identifier , identifier ))))) ;) (expression_statement "pPVar4 = image->channel_map;" (assignment_expression "pPVar4 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) })) (expression_statement "*(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);" (assignment_expression "*(double *)(iVar26 + 0x38) = (double)(float)((gamma - dVar37) * dVar34 + dVar37)" (pointer_expression "*(double *)(iVar26 + 0x38)" * (cast_expression "(double *)(iVar26 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x38)" ( (binary_expression "iVar26 + 0x38" identifier + number_literal) )))) = (cast_expression "(double)(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((gamma - dVar37) * dVar34 + dVar37)" ( (binary_expression "(gamma - dVar37) * dVar34 + dVar37" (binary_expression "(gamma - dVar37) * dVar34" (parenthesized_expression "(gamma - dVar37)" ( (binary_expression "gamma - dVar37" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait) {\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" if (parenthesized_expression "((pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait)" ( (binary_expression "(pPVar4[4].traits & UpdatePixelTrait) != UndefinedPixelTrait" (parenthesized_expression "(pPVar4[4].traits & UpdatePixelTrait)" ( (binary_expression "pPVar4[4].traits & UpdatePixelTrait" (field_expression "pPVar4[4].traits" (subscript_expression "pPVar4[4]" identifier [ number_literal ]) . field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n          iVar26 = (int)&image->colormap->storage_class + iVar2;\n          dVar34 = *(double *)(iVar26 + 0x48) * dVar35;\n          if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }\n          *(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);\n        }" { (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) (expression_statement "dVar34 = *(double *)(iVar26 + 0x48) * dVar35;" (assignment_expression "dVar34 = *(double *)(iVar26 + 0x48) * dVar35" identifier = (binary_expression "*(double *)(iVar26 + 0x48) * dVar35" (pointer_expression "*(double *)(iVar26 + 0x48)" * (cast_expression "(double *)(iVar26 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x48)" ( (binary_expression "iVar26 + 0x48" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar34) {\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar34)" ( (binary_expression "0.0 <= dVar34" number_literal <= identifier) )) (compound_statement "{\n            dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);\n            iVar26 = (int)&image->colormap->storage_class + iVar2;\n          }" { (expression_statement "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018);" (assignment_expression "dVar34 = (double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar34,in_stack_00000018)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar34,in_stack_00000018)" ( identifier , identifier ))))) ;) (expression_statement "iVar26 = (int)&image->colormap->storage_class + iVar2;" (assignment_expression "iVar26 = (int)&image->colormap->storage_class + iVar2" identifier = (binary_expression "(int)&image->colormap->storage_class + iVar2" (cast_expression "(int)&image->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&image->colormap->storage_class" & (field_expression "image->colormap->storage_class" (field_expression "image->colormap" identifier -> field_identifier) -> field_identifier))) + identifier)) ;) })) (expression_statement "*(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37);" (assignment_expression "*(double *)(iVar26 + 0x48) = (double)(float)((gamma - dVar37) * dVar34 + dVar37)" (pointer_expression "*(double *)(iVar26 + 0x48)" * (cast_expression "(double *)(iVar26 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x48)" ( (binary_expression "iVar26 + 0x48" identifier + number_literal) )))) = (cast_expression "(double)(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((gamma - dVar37) * dVar34 + dVar37)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((gamma - dVar37) * dVar34 + dVar37)" ( (binary_expression "(gamma - dVar37) * dVar34 + dVar37" (binary_expression "(gamma - dVar37) * dVar34" (parenthesized_expression "(gamma - dVar37)" ( (binary_expression "gamma - dVar37" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar2 + 0x58;" (assignment_expression "iVar2 = iVar2 + 0x58" identifier = (binary_expression "iVar2 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < (int)image->colors)" ( (binary_expression "iVar20 < (int)image->colors" identifier < (cast_expression "(int)image->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "image->colors" identifier -> field_identifier))) )) ;) })) (expression_statement "progress._4_4_ = 0;" (assignment_expression "progress._4_4_ = 0" (field_expression "progress._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "progress._0_4_ = 0;" (assignment_expression "progress._0_4_ = 0" (field_expression "progress._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020);" (assignment_expression "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020)" identifier = (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(image,in_stack_00000020)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" ( (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" * (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,in_stack_00000020)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image);" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        ) && ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)\n        )" ( (binary_expression "(iVar2 == 4) || (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3))" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n              (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(image)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      sVar3 = image->rows;\n      sVar12 = sVar3;\n      if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }\n      if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "sVar3 = image->rows;" (assignment_expression "sVar3 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (expression_statement "sVar12 = sVar3;" (assignment_expression "sVar12 = sVar3" identifier = identifier) ;) (if_statement "if ((int)sVar3 < 0) {\n        sVar12 = sVar3 + 0x3f;\n      }" if (parenthesized_expression "((int)sVar3 < 0)" ( (binary_expression "(int)sVar3 < 0" (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        sVar12 = sVar3 + 0x3f;\n      }" { (expression_statement "sVar12 = sVar3 + 0x3f;" (assignment_expression "sVar12 = sVar3 + 0x3f" identifier = (binary_expression "sVar3 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < (int)sVar12 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = (int)sVar3 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1 < (int)sVar12 >> 6)" ( (binary_expression "extraout_v1 < (int)sVar12 >> 6" identifier < (binary_expression "(int)sVar12 >> 6" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = (int)sVar3 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = (int)sVar3 < 0x80;\n      }" { (expression_statement "bVar1 = (int)sVar3 < 0x80;" (assignment_expression "bVar1 = (int)sVar3 < 0x80" identifier = (binary_expression "(int)sVar3 < 0x80" (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ;) }))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        sVar12 = image->rows;\n        if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }\n        iVar2 = (int)sVar12 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "sVar12 = image->rows;" (assignment_expression "sVar12 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (if_statement "if ((int)sVar12 < 0) {\n          sVar12 = sVar12 + 0x3f;\n        }" if (parenthesized_expression "((int)sVar12 < 0)" ( (binary_expression "(int)sVar12 < 0" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          sVar12 = sVar12 + 0x3f;\n        }" { (expression_statement "sVar12 = sVar12 + 0x3f;" (assignment_expression "sVar12 = sVar12 + 0x3f" identifier = (binary_expression "sVar12 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar2 = (int)sVar12 >> 6;" (assignment_expression "iVar2 = (int)sVar12 >> 6" identifier = (binary_expression "(int)sVar12 >> 6" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;" if (parenthesized_expression "(extraout_v1_01 < iVar2)" ( (binary_expression "extraout_v1_01 < iVar2" identifier < identifier) )) (goto_statement "goto LAB_000cc7ac;" goto statement_identifier ;)) })) }) (else_clause "else {\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" else (compound_statement "{\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" { (expression_statement "uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2))" ( (binary_expression "((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)" (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" { (expression_statement "uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2))" ( (binary_expression "((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)" (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000cc440;" goto statement_identifier ;) })) })) (expression_statement "uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar42 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2))" ( (binary_expression "((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)" (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }" { (labeled_statement "LAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" statement_identifier : (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar2 = extraout_v1_00;" (assignment_expression "iVar2 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n        iVar2 = 2;\n      }" else (compound_statement "{\n        iVar2 = 2;\n      }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000cc440:\n    puVar19 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar19 = (undefined *)0x0;" (assignment_expression "puVar19 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_64 = MagickTrue;" (assignment_expression "local_64 = MagickTrue" identifier = identifier) ;) (expression_statement "local_60 = &progress;" (assignment_expression "local_60 = &progress" identifier = (pointer_expression "&progress" & identifier)) ;) (expression_statement "puVar16 = local_88;" (assignment_expression "puVar16 = local_88" identifier = identifier) ;) (expression_statement "local_80 = gamma;" (assignment_expression "local_80 = gamma" identifier = identifier) ;) (expression_statement "local_70 = image;" (assignment_expression "local_70 = image" identifier = identifier) ;) (expression_statement "local_68 = unaff_s3;" (assignment_expression "local_68 = unaff_s3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a8a64 + 0x305c)" ( (binary_expression "PTR_LAB_003a8a64 + 0x305c" identifier + number_literal) ))) ;) (expression_statement "in_stack_00000020 = local_64;" (assignment_expression "in_stack_00000020 = local_64" identifier = identifier) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "puVar13 = local_54;" (assignment_expression "puVar13 = local_54" identifier = identifier) ;) (if_statement "if (local_54 == *(undefined **)puVar25) {\n      return in_stack_00000020;\n    }" if (parenthesized_expression "(local_54 == *(undefined **)puVar25)" ( (binary_expression "local_54 == *(undefined **)puVar25" identifier == (pointer_expression "*(undefined **)puVar25" * (cast_expression "(undefined **)puVar25" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return in_stack_00000020;\n    }" { (return_statement "return in_stack_00000020;" return identifier ;) })) }))) (expression_statement "puVar30 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar30 = 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 "()" ( ))) ;) (if_statement "if (puVar13 != (undefined *)0x0) {\n    if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n      if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }\n      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n      pcVar31 = *(code **)(puVar30 + 0x2dca10);\nLAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);\n      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n      return MVar28 & MVar5;\n    }\n    (**(code **)(puVar30 + 0x2dcda8))\n              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c);\n    puVar25 = puVar13;\n  }" if (parenthesized_expression "(puVar13 != (undefined *)0x0)" ( (binary_expression "puVar13 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n      if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }\n      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n      pcVar31 = *(code **)(puVar30 + 0x2dca10);\nLAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);\n      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n      return MVar28 & MVar5;\n    }\n    (**(code **)(puVar30 + 0x2dcda8))\n              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c);\n    puVar25 = puVar13;\n  }" { (if_statement "if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n      if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }\n      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n      pcVar31 = *(code **)(puVar30 + 0x2dca10);\nLAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);\n      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n      return MVar28 & MVar5;\n    }" if (parenthesized_expression "(*(int *)(puVar13 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar13 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar13 + 0x336c)" * (cast_expression "(int *)(puVar13 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x336c)" ( (binary_expression "puVar13 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n      if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }\n      uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n      pcVar31 = *(code **)(puVar30 + 0x2dca10);\nLAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);\n      (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n      return MVar28 & MVar5;\n    }" { (if_statement "if (*(int *)(puVar13 + 0x3350) != 0) {\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }" if (parenthesized_expression "(*(int *)(puVar13 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar13 + 0x3350) != 0" (pointer_expression "*(int *)(puVar13 + 0x3350)" * (cast_expression "(int *)(puVar13 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x3350)" ( (binary_expression "puVar13 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);\n      }" { (expression_statement "(**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95);" (call_expression "(**(code **)(puVar30 + 0x2dc980))\n                  (0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dc980))" ( (pointer_expression "**(code **)(puVar30 + 0x2dc980)" * (pointer_expression "*(code **)(puVar30 + 0x2dc980)" * (cast_expression "(code **)(puVar30 + 0x2dc980)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc980)" ( (binary_expression "puVar30 + 0x2dc980" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar30 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar30 + 0x2dc088) + 0x5448,0xc95)" ( number_literal , (binary_expression "*(int *)(puVar30 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar30 + 0x2dc088)" * (cast_expression "(int *)(puVar30 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc088)" ( (binary_expression "puVar30 + 0x2dc088" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar30 + 0x2dc088) + 0x5448" (pointer_expression "*(int *)(puVar30 + 0x2dc088)" * (cast_expression "(int *)(puVar30 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc088)" ( (binary_expression "puVar30 + 0x2dc088" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if ((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)) {\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }" if (parenthesized_expression "((*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3))" ( (binary_expression "(*(int *)(puVar13 + 4) == 0x21) || (*(int *)(puVar13 + 4) == 3)" (parenthesized_expression "(*(int *)(puVar13 + 4) == 0x21)" ( (binary_expression "*(int *)(puVar13 + 4) == 0x21" (pointer_expression "*(int *)(puVar13 + 4)" * (cast_expression "(int *)(puVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(puVar13 + 4) == 3)" ( (binary_expression "*(int *)(puVar13 + 4) == 3" (pointer_expression "*(int *)(puVar13 + 4)" * (cast_expression "(int *)(puVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        uVar11 = *(uint *)(iVar2 + 4);\n      }" { (if_statement "if ((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" if (parenthesized_expression "((*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3))" ( (binary_expression "(*(int *)(puVar16 + 4) == 0x21) ||\n           (pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)" (parenthesized_expression "(*(int *)(puVar16 + 4) == 0x21)" ( (binary_expression "*(int *)(puVar16 + 4) == 0x21" (pointer_expression "*(int *)(puVar16 + 4)" * (cast_expression "(int *)(puVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3)" ( (comma_expression "pcVar31 = *(code **)(puVar30 + 0x2dc4e0), *(int *)(puVar16 + 4) == 3" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dc4e0)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dc4e0)" * (cast_expression "(code **)(puVar30 + 0x2dc4e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc4e0)" ( (binary_expression "puVar30 + 0x2dc4e0" identifier + number_literal) ))))) , (binary_expression "*(int *)(puVar16 + 4) == 3" (pointer_expression "*(int *)(puVar16 + 4)" * (cast_expression "(int *)(puVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar31 = *(code **)(puVar30 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" { (if_statement "if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;" if (parenthesized_expression "(*(int *)(iVar2 + 4) == 0x21)" ( (binary_expression "*(int *)(iVar2 + 4) == 0x21" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000cc8d8;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dc4e0);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dc4e0)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dc4e0)" * (cast_expression "(code **)(puVar30 + 0x2dc4e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc4e0)" ( (binary_expression "puVar30 + 0x2dc4e0" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;" if (parenthesized_expression "(*(int *)(iVar2 + 4) != 3)" ( (binary_expression "*(int *)(iVar2 + 4) != 3" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_000cc988;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cc8dc;" goto statement_identifier ;) })) (labeled_statement "LAB_000cc988:\n        (*pcVar31)(puVar13,0x17,local_a0);" statement_identifier : (expression_statement "(*pcVar31)(puVar13,0x17,local_a0);" (call_expression "(*pcVar31)(puVar13,0x17,local_a0)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(puVar13,0x17,local_a0)" ( identifier , number_literal , identifier ))) ;)) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar11 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }" else (compound_statement "{\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);\nLAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);\n      }" { (labeled_statement "LAB_000cc8d8:\n        iVar2 = *(int *)(puVar13 + 0x2d0);" statement_identifier : (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000cc8dc:\n        uVar11 = *(uint *)(iVar2 + 4);" statement_identifier : (expression_statement "uVar11 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar11 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;)) }))) (if_statement "if (puVar19 != (undefined *)0x0) {\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }" if (parenthesized_expression "(puVar19 != (undefined *)0x0)" ( (binary_expression "puVar19 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }\n        if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);\n        pcVar31 = *(code **)(puVar30 + 0x2dc848);\n        goto LAB_000cca38;\n      }" { (if_statement "if ((uVar11 & 2) == 0) {\n          MVar28 = MagickTrue;\n        }\n        else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" if (parenthesized_expression "((uVar11 & 2) == 0)" ( (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          MVar28 = MagickTrue;\n        }" { (expression_statement "MVar28 = MagickTrue;" (assignment_expression "MVar28 = MagickTrue" identifier = identifier) ;) }) (else_clause "else {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" else (compound_statement "{\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);\n          MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MagickTrue;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" { (expression_statement "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1);" (assignment_expression "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,1)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,1)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,1)" ( identifier , number_literal )))) ;) (expression_statement "MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13);" (assignment_expression "MVar28 = (**(code **)(puVar30 + 0x2dc848))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dc848))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar30 + 0x2dc848)" * (pointer_expression "*(code **)(puVar30 + 0x2dc848)" * (cast_expression "(code **)(puVar30 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc848)" ( (binary_expression "puVar30 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MagickTrue;" (assignment_expression "MVar28 = MVar28 & MagickTrue" identifier = (binary_expression "MVar28 & MagickTrue" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) }))) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" { (expression_statement "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2);" (assignment_expression "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,2)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,2)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,2)" ( identifier , number_literal )))) ;) (expression_statement "MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);" (assignment_expression "MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dc848))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar30 + 0x2dc848)" * (pointer_expression "*(code **)(puVar30 + 0x2dc848)" * (cast_expression "(code **)(puVar30 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc848)" ( (binary_expression "puVar30 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MVar5;" (assignment_expression "MVar28 = MVar28 & MVar5" identifier = (binary_expression "MVar28 & MVar5" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" { (expression_statement "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4);" (assignment_expression "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,4)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,4)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,4)" ( identifier , number_literal )))) ;) (expression_statement "MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);" (assignment_expression "MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dc848))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar30 + 0x2dc848)" * (pointer_expression "*(code **)(puVar30 + 0x2dc848)" * (cast_expression "(code **)(puVar30 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc848)" ( (binary_expression "puVar30 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MVar5;" (assignment_expression "MVar28 = MVar28 & MVar5" identifier = (binary_expression "MVar28 & MVar5" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2))" ( (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(puVar13 + 4) == 2)" ( (binary_expression "*(int *)(puVar13 + 4) == 2" (pointer_expression "*(int *)(puVar13 + 4)" * (cast_expression "(int *)(puVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n          MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" { (expression_statement "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);" (assignment_expression "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,8)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,8)" ( identifier , number_literal )))) ;) (expression_statement "MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13);" (assignment_expression "MVar5 = (**(code **)(puVar30 + 0x2dc848))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dc848))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar30 + 0x2dc848)" * (pointer_expression "*(code **)(puVar30 + 0x2dc848)" * (cast_expression "(code **)(puVar30 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc848)" ( (binary_expression "puVar30 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MVar5;" (assignment_expression "MVar28 = MVar28 & MVar5" identifier = (binary_expression "MVar28 & MVar5" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return MVar28;\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" * (cast_expression "(uint *)(iVar2 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          return MVar28;\n        }" { (return_statement "return MVar28;" return identifier ;) })) (if_statement "if (*(int *)(puVar13 + 700) == 0) {\n          return MVar28;\n        }" if (parenthesized_expression "(*(int *)(puVar13 + 700) == 0)" ( (binary_expression "*(int *)(puVar13 + 700) == 0" (pointer_expression "*(int *)(puVar13 + 700)" * (cast_expression "(int *)(puVar13 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 700)" ( (binary_expression "puVar13 + 700" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          return MVar28;\n        }" { (return_statement "return MVar28;" return identifier ;) })) (expression_statement "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);" (assignment_expression "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x10)" ( identifier , number_literal )))) ;) (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dc848);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dc848)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dc848)" * (cast_expression "(code **)(puVar30 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dc848)" ( (binary_expression "puVar30 + 0x2dc848" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cca38;" goto statement_identifier ;) })) (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dcd30);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) ;) (if_statement "if ((uVar11 & 2) == 0) {\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }" if (parenthesized_expression "((uVar11 & 2) == 0)" ( (binary_expression "(uVar11 & 2) == 0" (parenthesized_expression "(uVar11 & 2)" ( (binary_expression "uVar11 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        MVar28 = MagickTrue;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }" { (expression_statement "MVar28 = MagickTrue;" (assignment_expression "MVar28 = MagickTrue" identifier = identifier) ;) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000ccc54;" goto statement_identifier ;)) (labeled_statement "LAB_000cc900:\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);" statement_identifier : (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dcd30);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) ;)) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cccc4;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }" else (compound_statement "{\n        uVar6 = (*pcVar31)(puVar13,1);\n        MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MagickTrue;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }\n      }" { (expression_statement "uVar6 = (*pcVar31)(puVar13,1);" (assignment_expression "uVar6 = (*pcVar31)(puVar13,1)" identifier = (call_expression "(*pcVar31)(puVar13,1)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(puVar13,1)" ( identifier , number_literal )))) ;) (expression_statement "MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13);" (assignment_expression "MVar28 = (**(code **)(puVar30 + 0x2dca10))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dca10))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar30 + 0x2dca10)" * (pointer_expression "*(code **)(puVar30 + 0x2dca10)" * (cast_expression "(code **)(puVar30 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dca10)" ( (binary_expression "puVar30 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MagickTrue;" (assignment_expression "MVar28 = MVar28 & MagickTrue" identifier = (binary_expression "MVar28 & MagickTrue" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000cc900;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dcd30);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ccc54:\n        uVar6 = (*pcVar31)(puVar13,2);" statement_identifier : (expression_statement "uVar6 = (*pcVar31)(puVar13,2);" (assignment_expression "uVar6 = (*pcVar31)(puVar13,2)" identifier = (call_expression "(*pcVar31)(puVar13,2)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(puVar13,2)" ( identifier , number_literal )))) ;)) (expression_statement "MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);" (assignment_expression "MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dca10))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar30 + 0x2dca10)" * (pointer_expression "*(code **)(puVar30 + 0x2dca10)" * (cast_expression "(code **)(puVar30 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dca10)" ( (binary_expression "puVar30 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MVar5;" (assignment_expression "MVar28 = MVar28 & MVar5" identifier = (binary_expression "MVar28 & MVar5" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          pcVar31 = *(code **)(puVar30 + 0x2dcd30);\nLAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);\n          MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n          MVar28 = MVar28 & MVar5;\n          (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n          iVar2 = *(int *)(puVar13 + 0x2d0);\n        }" { (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dcd30);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000cccc4:\n          uVar6 = (*pcVar31)(puVar13,4);" statement_identifier : (expression_statement "uVar6 = (*pcVar31)(puVar13,4);" (assignment_expression "uVar6 = (*pcVar31)(puVar13,4)" identifier = (call_expression "(*pcVar31)(puVar13,4)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(puVar13,4)" ( identifier , number_literal )))) ;)) (expression_statement "MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);" (assignment_expression "MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dca10))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar30 + 0x2dca10)" * (pointer_expression "*(code **)(puVar30 + 0x2dca10)" * (cast_expression "(code **)(puVar30 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dca10)" ( (binary_expression "puVar30 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MVar5;" (assignment_expression "MVar28 = MVar28 & MVar5" identifier = (binary_expression "MVar28 & MVar5" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) })) }))) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)) {\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2))" ( (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar13 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(puVar13 + 4) == 2)" ( (binary_expression "*(int *)(puVar13 + 4) == 2" (pointer_expression "*(int *)(puVar13 + 4)" * (cast_expression "(int *)(puVar13 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);\n        MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);\n        MVar28 = MVar28 & MVar5;\n        (**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);\n        iVar2 = *(int *)(puVar13 + 0x2d0);\n      }" { (expression_statement "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8);" (assignment_expression "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,8)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,8)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,8)" ( identifier , number_literal )))) ;) (expression_statement "MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13);" (assignment_expression "MVar5 = (**(code **)(puVar30 + 0x2dca10))(puVar13)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dca10))(puVar13)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar30 + 0x2dca10)" * (pointer_expression "*(code **)(puVar30 + 0x2dca10)" * (cast_expression "(code **)(puVar30 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dca10)" ( (binary_expression "puVar30 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "MVar28 = MVar28 & MVar5;" (assignment_expression "MVar28 = MVar28 & MVar5" identifier = (binary_expression "MVar28 & MVar5" identifier & identifier)) ;) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar13 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar13 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar13 + 0x2d0)" * (cast_expression "(int *)(puVar13 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2d0)" ( (binary_expression "puVar13 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)) {\n        return MVar28;\n      }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0))" ( (binary_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar13 + 700) == 0)" (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" * (cast_expression "(uint *)(iVar2 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(int *)(puVar13 + 700) == 0)" ( (binary_expression "*(int *)(puVar13 + 700) == 0" (pointer_expression "*(int *)(puVar13 + 700)" * (cast_expression "(int *)(puVar13 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 700)" ( (binary_expression "puVar13 + 700" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        return MVar28;\n      }" { (return_statement "return MVar28;" return identifier ;) })) (expression_statement "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10);" (assignment_expression "uVar6 = (**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10)" identifier = (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,0x10)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x10)" ( identifier , number_literal )))) ;) (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dca10);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dca10)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dca10)" * (cast_expression "(code **)(puVar30 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dca10)" ( (binary_expression "puVar30 + 0x2dca10" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000cca38:\n      MVar5 = (*pcVar31)(puVar13);" statement_identifier : (expression_statement "MVar5 = (*pcVar31)(puVar13);" (assignment_expression "MVar5 = (*pcVar31)(puVar13)" identifier = (call_expression "(*pcVar31)(puVar13)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(puVar13)" ( identifier )))) ;)) (expression_statement "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6);" (call_expression "(**(code **)(puVar30 + 0x2dcd30))(puVar13,uVar6)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar30 + 0x2dcd30)" * (cast_expression "(code **)(puVar30 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcd30)" ( (binary_expression "puVar30 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar13,uVar6)" ( identifier , identifier ))) ;) (return_statement "return MVar28 & MVar5;" return (binary_expression "MVar28 & MVar5" identifier & identifier) ;) })) (expression_statement "(**(code **)(puVar30 + 0x2dcda8))\n              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c);" (call_expression "(**(code **)(puVar30 + 0x2dcda8))\n              (*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c)" (parenthesized_expression "(**(code **)(puVar30 + 0x2dcda8))" ( (pointer_expression "**(code **)(puVar30 + 0x2dcda8)" * (pointer_expression "*(code **)(puVar30 + 0x2dcda8)" * (cast_expression "(code **)(puVar30 + 0x2dcda8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcda8)" ( (binary_expression "puVar30 + 0x2dcda8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar30 + 0x2dc088) + -0x3784,*(int *)(puVar30 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar30 + 0x2dc088) + 0x545c)" ( (binary_expression "*(int *)(puVar30 + 0x2dc088) + -0x3784" (pointer_expression "*(int *)(puVar30 + 0x2dc088)" * (cast_expression "(int *)(puVar30 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc088)" ( (binary_expression "puVar30 + 0x2dc088" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar30 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar30 + 0x2dc088)" * (cast_expression "(int *)(puVar30 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc088)" ( (binary_expression "puVar30 + 0x2dc088" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar30 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar30 + 0x2dc088)" * (cast_expression "(int *)(puVar30 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc088)" ( (binary_expression "puVar30 + 0x2dc088" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar25 = puVar13;" (assignment_expression "puVar25 = puVar13" identifier = identifier) ;) })) (expression_statement "uVar6 = 0xc92;" (assignment_expression "uVar6 = 0xc92" identifier = number_literal) ;) (expression_statement "pcVar31 = *(code **)(puVar30 + 0x2dcda8);" (assignment_expression "pcVar31 = *(code **)(puVar30 + 0x2dcda8)" identifier = (pointer_expression "*(code **)(puVar30 + 0x2dcda8)" * (cast_expression "(code **)(puVar30 + 0x2dcda8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + 0x2dcda8)" ( (binary_expression "puVar30 + 0x2dcda8" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(puVar30 + 0x2dc088) + 0x545c;" (assignment_expression "iVar20 = *(int *)(puVar30 + 0x2dc088) + 0x545c" identifier = (binary_expression "*(int *)(puVar30 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar30 + 0x2dc088)" * (cast_expression "(int *)(puVar30 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc088)" ( (binary_expression "puVar30 + 0x2dc088" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(puVar30 + 0x2dc080) + 0xdd0;" (assignment_expression "iVar2 = *(int *)(puVar30 + 0x2dc080) + 0xdd0" identifier = (binary_expression "*(int *)(puVar30 + 0x2dc080) + 0xdd0" (pointer_expression "*(int *)(puVar30 + 0x2dc080)" * (cast_expression "(int *)(puVar30 + 0x2dc080)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc080)" ( (binary_expression "puVar30 + 0x2dc080" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar31)(iVar2,*(int *)(puVar30 + 0x2dc088) + 0x5060);" (call_expression "(*pcVar31)(iVar2,*(int *)(puVar30 + 0x2dc088) + 0x5060)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(iVar2,*(int *)(puVar30 + 0x2dc088) + 0x5060)" ( identifier , (binary_expression "*(int *)(puVar30 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar30 + 0x2dc088)" * (cast_expression "(int *)(puVar30 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + 0x2dc088)" ( (binary_expression "puVar30 + 0x2dc088" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "dVar39 = (double)CONCAT44(uVar6,iVar20);" (assignment_expression "dVar39 = (double)CONCAT44(uVar6,iVar20)" identifier = (cast_expression "(double)CONCAT44(uVar6,iVar20)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar6,iVar20)" identifier (argument_list "(uVar6,iVar20)" ( identifier , identifier ))))) ;) (if_statement "if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);\n      if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2dc76c))\n              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);\n      if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2dc76c))\n              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" { (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);\n      if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }\n      return MVar28;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" * (cast_expression "(int *)(iVar2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x336c)" ( (binary_expression "iVar2 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);\n      if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }\n      return MVar28;\n    }" { (expression_statement "pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8);" (assignment_expression "pdVar7 = (double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8)" identifier = (cast_expression "(double *)(**(code **)(pcVar31 + 0x2dc670))(0x10000,8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar31 + 0x2dc670))(0x10000,8)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc670))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc670)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc670)" * (cast_expression "(code **)(pcVar31 + 0x2dc670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc670)" ( (binary_expression "pcVar31 + 0x2dc670" identifier + number_literal) ))))) )) (argument_list "(0x10000,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (pdVar7 == (double *)0x0) {\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }\n      else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }" if (parenthesized_expression "(pdVar7 == (double *)0x0)" ( (binary_expression "pdVar7 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);\n        MVar28 = MagickFalse;\n      }" { (expression_statement "(**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29);" (call_expression "(**(code **)(pcVar31 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc084))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc084)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc084)" * (cast_expression "(code **)(pcVar31 + 0x2dc084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc084)" ( (binary_expression "pcVar31 + 0x2dc084" identifier + number_literal) ))))) )) (argument_list "(pdStack_e8,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar31 + 0x2dba4c) + 0x5420,0xd29)" ( identifier , (binary_expression "*(int *)(pcVar31 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar31 + 0x2dba4c)" * (cast_expression "(int *)(pcVar31 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba4c)" ( (binary_expression "pcVar31 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0x2dba4c) + 0x5420" (pointer_expression "*(int *)(pcVar31 + 0x2dba4c)" * (cast_expression "(int *)(pcVar31 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba4c)" ( (binary_expression "pcVar31 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "MVar28 = MagickFalse;" (assignment_expression "MVar28 = MagickFalse" identifier = identifier) ;) }) (else_clause "else {\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }" else (compound_statement "{\n        (**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);\n        pdVar17 = pdVar7 + 0xffff;\n        uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar20 = 0;\n        (**(code **)(pcVar31 + 0x2dc058))(uVar6);\n        dVar37 = 0.0;\n        pdVar9 = pdVar7;\n        do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);\n        iVar20 = 0xffff;\n        dVar37 = 0.0;\n        do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);\n        (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\nLAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);\n      }" { (expression_statement "(**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000);" (call_expression "(**(code **)(pcVar31 + 0x2dc838))(pdVar7,0,0x80000)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc838))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc838)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc838)" * (cast_expression "(code **)(pcVar31 + 0x2dc838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc838)" ( (binary_expression "pcVar31 + 0x2dc838" identifier + number_literal) ))))) )) (argument_list "(pdVar7,0,0x80000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pdVar17 = pdVar7 + 0xffff;" (assignment_expression "pdVar17 = pdVar7 + 0xffff" identifier = (binary_expression "pdVar7 + 0xffff" identifier + number_literal)) ;) (expression_statement "uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8);" (assignment_expression "uVar6 = (**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2dc8b8))(iVar2,pdStack_e8)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc8b8))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc8b8)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc8b8)" * (cast_expression "(code **)(pcVar31 + 0x2dc8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc8b8)" ( (binary_expression "pcVar31 + 0x2dc8b8" identifier + number_literal) ))))) )) (argument_list "(iVar2,pdStack_e8)" ( identifier , identifier )))) ;) (if_statement "if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }" if (parenthesized_expression "(0 < *(int *)(iVar2 + 0x1c))" ( (binary_expression "0 < *(int *)(iVar2 + 0x1c)" number_literal < (pointer_expression "*(int *)(iVar2 + 0x1c)" * (cast_expression "(int *)(iVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar26 = 0;\n          dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);\n          iVar20 = *(int *)(iVar2 + 0x18);\n          dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);\n          dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);\n          uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);\n          pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));\n        }" { (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438);" (assignment_expression "dVar37 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2dba44) + 0x1438)" ( (binary_expression "*(int *)(pcVar31 + 0x2dba44) + 0x1438" (pointer_expression "*(int *)(pcVar31 + 0x2dba44)" * (cast_expression "(int *)(pcVar31 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba44)" ( (binary_expression "pcVar31 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar20 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400);" (assignment_expression "dVar41 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400)" * (cast_expression "(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2dba44) + 0x1400)" ( (binary_expression "*(int *)(pcVar31 + 0x2dba44) + 0x1400" (pointer_expression "*(int *)(pcVar31 + 0x2dba44)" * (cast_expression "(int *)(pcVar31 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba44)" ( (binary_expression "pcVar31 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410);" (assignment_expression "dVar38 = *(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410)" * (cast_expression "(double *)(*(int *)(pcVar31 + 0x2dba44) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2dba44) + 0x1410)" ( (binary_expression "*(int *)(pcVar31 + 0x2dba44) + 0x1410" (pointer_expression "*(int *)(pcVar31 + 0x2dba44)" * (cast_expression "(int *)(pcVar31 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba44)" ( (binary_expression "pcVar31 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50);" (assignment_expression "uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar31 + 0x2dba44) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2dba44) + 0x1a50)" ( (binary_expression "*(int *)(pcVar31 + 0x2dba44) + 0x1a50" (pointer_expression "*(int *)(pcVar31 + 0x2dba44)" * (cast_expression "(int *)(pcVar31 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba44)" ( (binary_expression "pcVar31 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2dc7c0)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2dc7c0)" * (cast_expression "(code **)(pcVar31 + 0x2dc7c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc7c0)" ( (binary_expression "pcVar31 + 0x2dc7c0" identifier + number_literal) ))))) ;) (do_statement "do {\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          } while (iVar26 < *(int *)(iVar2 + 0x1c));" do (compound_statement "{\n            iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);\n            if (iVar8 == 0) break;\n            iVar20 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }\n            iVar26 = iVar26 + 1;\n            pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);\n          }" { (expression_statement "iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20);" (assignment_expression "iVar8 = (*pcVar32)(uVar6,0,iVar26,iVar20)" identifier = (call_expression "(*pcVar32)(uVar6,0,iVar26,iVar20)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(uVar6,0,iVar26,iVar20)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar20 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar20) {\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n              iVar33 = 0;\n              do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);\n            }" { (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (do_statement "do {\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              } while (iVar33 < iVar20);" do (compound_statement "{\n                dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);\n                fVar36 = (float)dVar35;\n                pdVar9 = pdVar17;\n                if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }\n                iVar33 = iVar33 + 1;\n                iVar20 = *(int *)(iVar2 + 0x18);\n                iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar9 = *pdVar9 + dVar37;\n              }" { (expression_statement "dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8);" (assignment_expression "dVar35 = (double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8)" identifier = (cast_expression "(double)(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcVar31 + 0x2dbfbc))(iVar2,iVar8)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dbfbc))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dbfbc)" * (pointer_expression "*(code **)(pcVar31 + 0x2dbfbc)" * (cast_expression "(code **)(pcVar31 + 0x2dbfbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dbfbc)" ( (binary_expression "pcVar31 + 0x2dbfbc" identifier + number_literal) ))))) )) (argument_list "(iVar2,iVar8)" ( identifier , identifier ))))) ;) (expression_statement "fVar36 = (float)dVar35;" (assignment_expression "fVar36 = (float)dVar35" identifier = (cast_expression "(float)dVar35" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pdVar9 = pdVar17;" (assignment_expression "pdVar9 = pdVar17" identifier = identifier) ;) (if_statement "if ((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)) {\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }" if (parenthesized_expression "((fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36))" ( (binary_expression "(fVar36 < (float)uVar40) && (pdVar9 = pdVar7, 0.0 < fVar36)" (parenthesized_expression "(fVar36 < (float)uVar40)" ( (binary_expression "fVar36 < (float)uVar40" identifier < (cast_expression "(float)uVar40" ( (type_descriptor "float" primitive_type) ) identifier)) )) && (parenthesized_expression "(pdVar9 = pdVar7, 0.0 < fVar36)" ( (comma_expression "pdVar9 = pdVar7, 0.0 < fVar36" (assignment_expression "pdVar9 = pdVar7" identifier = identifier) , (binary_expression "0.0 < fVar36" number_literal < identifier)) ))) )) (compound_statement "{\n                  dVar35 = (double)fVar36 + dVar41;\n                  if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }\n                  pdVar9 = pdVar7 + (int)dVar35;\n                }" { (expression_statement "dVar35 = (double)fVar36 + dVar41;" (assignment_expression "dVar35 = (double)fVar36 + dVar41" identifier = (binary_expression "(double)fVar36 + dVar41" (cast_expression "(double)fVar36" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar38 <= dVar35) {\n                    dVar35 = dVar35 - dVar38;\n                  }" if (parenthesized_expression "(dVar38 <= dVar35)" ( (binary_expression "dVar38 <= dVar35" identifier <= identifier) )) (compound_statement "{\n                    dVar35 = dVar35 - dVar38;\n                  }" { (expression_statement "dVar35 = dVar35 - dVar38;" (assignment_expression "dVar35 = dVar35 - dVar38" identifier = (binary_expression "dVar35 - dVar38" identifier - identifier)) ;) })) (expression_statement "pdVar9 = pdVar7 + (int)dVar35;" (assignment_expression "pdVar9 = pdVar7 + (int)dVar35" identifier = (binary_expression "pdVar7 + (int)dVar35" identifier + (cast_expression "(int)dVar35" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar20 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar8 = iVar8 + *(int *)(iVar2 + 0x2c0) * 4" identifier = (binary_expression "iVar8 + *(int *)(iVar2 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*pdVar9 = *pdVar9 + dVar37;" (assignment_expression "*pdVar9 = *pdVar9 + dVar37" (pointer_expression "*pdVar9" * identifier) = (binary_expression "*pdVar9 + dVar37" (pointer_expression "*pdVar9" * identifier) + identifier)) ;) }) while (parenthesized_expression "(iVar33 < iVar20)" ( (binary_expression "iVar33 < iVar20" identifier < identifier) )) ;) })) (expression_statement "iVar26 = iVar26 + 1;" (assignment_expression "iVar26 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2dc7c0);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2dc7c0)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2dc7c0)" * (cast_expression "(code **)(pcVar31 + 0x2dc7c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc7c0)" ( (binary_expression "pcVar31 + 0x2dc7c0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar26 < *(int *)(iVar2 + 0x1c))" ( (binary_expression "iVar26 < *(int *)(iVar2 + 0x1c)" identifier < (pointer_expression "*(int *)(iVar2 + 0x1c)" * (cast_expression "(int *)(iVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(pcVar31 + 0x2dc058))(uVar6);" (call_expression "(**(code **)(pcVar31 + 0x2dc058))(uVar6)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc058))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc058)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc058)" * (cast_expression "(code **)(pcVar31 + 0x2dc058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc058)" ( (binary_expression "pcVar31 + 0x2dc058" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "dVar37 = 0.0;" (assignment_expression "dVar37 = 0.0" identifier = number_literal) ;) (expression_statement "pdVar9 = pdVar7;" (assignment_expression "pdVar9 = pdVar7" identifier = identifier) ;) (do_statement "do {\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        } while (iVar20 != 0xffff);" do (compound_statement "{\n          dVar37 = dVar37 + *pdVar9;\n          iVar20 = iVar20 + 1;\n          if (dVar39 <= dVar37) break;\n          pdVar9 = pdVar9 + 1;\n        }" { (expression_statement "dVar37 = dVar37 + *pdVar9;" (assignment_expression "dVar37 = dVar37 + *pdVar9" identifier = (binary_expression "dVar37 + *pdVar9" identifier + (pointer_expression "*pdVar9" * identifier))) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (if_statement "if (dVar39 <= dVar37) break;" if (parenthesized_expression "(dVar39 <= dVar37)" ( (binary_expression "dVar39 <= dVar37" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pdVar9 = pdVar9 + 1;" (assignment_expression "pdVar9 = pdVar9 + 1" identifier = (binary_expression "pdVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 != 0xffff)" ( (binary_expression "iVar20 != 0xffff" identifier != number_literal) )) ;) (expression_statement "iVar20 = 0xffff;" (assignment_expression "iVar20 = 0xffff" identifier = number_literal) ;) (expression_statement "dVar37 = 0.0;" (assignment_expression "dVar37 = 0.0" identifier = number_literal) ;) (do_statement "do {\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        } while (iVar20 != 0);" do (compound_statement "{\n          dVar37 = dVar37 + *pdVar17;\n          iVar20 = iVar20 + -1;\n          if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }\n          pdVar17 = pdVar17 + -1;\n        }" { (expression_statement "dVar37 = dVar37 + *pdVar17;" (assignment_expression "dVar37 = dVar37 + *pdVar17" identifier = (binary_expression "dVar37 + *pdVar17" identifier + (pointer_expression "*pdVar17" * identifier))) ;) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (if_statement "if (dStack_f0 <= dVar37) {\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }" if (parenthesized_expression "(dStack_f0 <= dVar37)" ( (binary_expression "dStack_f0 <= dVar37" identifier <= identifier) )) (compound_statement "{\n            (**(code **)(pcVar31 + 0x2dc124))(pdVar7);\n            goto LAB_000cd170;\n          }" { (expression_statement "(**(code **)(pcVar31 + 0x2dc124))(pdVar7);" (call_expression "(**(code **)(pcVar31 + 0x2dc124))(pdVar7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc124))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc124)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc124)" * (cast_expression "(code **)(pcVar31 + 0x2dc124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc124)" ( (binary_expression "pcVar31 + 0x2dc124" identifier + number_literal) ))))) )) (argument_list "(pdVar7)" ( identifier ))) ;) (goto_statement "goto LAB_000cd170;" goto statement_identifier ;) })) (expression_statement "pdVar17 = pdVar17 + -1;" (assignment_expression "pdVar17 = pdVar17 + -1" identifier = (binary_expression "pdVar17 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) ;) (expression_statement "(**(code **)(pcVar31 + 0x2dc124))(pdVar7);" (call_expression "(**(code **)(pcVar31 + 0x2dc124))(pdVar7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc124))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc124)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc124)" * (cast_expression "(code **)(pcVar31 + 0x2dc124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc124)" ( (binary_expression "pcVar31 + 0x2dc124" identifier + number_literal) ))))) )) (argument_list "(pdVar7)" ( identifier ))) ;) (labeled_statement "LAB_000cd170:\n        MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);" statement_identifier : (expression_statement "MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2);" (assignment_expression "MVar28 = (**(code **)(pcVar31 + 0x2dc3d4))(iVar2)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2dc3d4))(iVar2)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc3d4))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc3d4)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc3d4)" * (cast_expression "(code **)(pcVar31 + 0x2dc3d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc3d4)" ( (binary_expression "pcVar31 + 0x2dc3d4" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;)) }))) (return_statement "return MVar28;" return identifier ;) })) (expression_statement "(**(code **)(pcVar31 + 0x2dc76c))\n              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434);" (call_expression "(**(code **)(pcVar31 + 0x2dc76c))\n              (*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2dc76c))" ( (pointer_expression "**(code **)(pcVar31 + 0x2dc76c)" * (pointer_expression "*(code **)(pcVar31 + 0x2dc76c)" * (cast_expression "(code **)(pcVar31 + 0x2dc76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc76c)" ( (binary_expression "pcVar31 + 0x2dc76c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0x2dba4c) + -0x3784,*(int *)(pcVar31 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar31 + 0x2dba4c) + 0x5434)" ( (binary_expression "*(int *)(pcVar31 + 0x2dba4c) + -0x3784" (pointer_expression "*(int *)(pcVar31 + 0x2dba4c)" * (cast_expression "(int *)(pcVar31 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba4c)" ( (binary_expression "pcVar31 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar31 + 0x2dba4c)" * (cast_expression "(int *)(pcVar31 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba4c)" ( (binary_expression "pcVar31 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0x2dba4c) + 0x5434" (pointer_expression "*(int *)(pcVar31 + 0x2dba4c)" * (cast_expression "(int *)(pcVar31 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba4c)" ( (binary_expression "pcVar31 + 0x2dba4c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) })) (expression_statement "iVar2 = 0xd24;" (assignment_expression "iVar2 = 0xd24" identifier = number_literal) ;) (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2dc76c);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2dc76c)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2dc76c)" * (cast_expression "(code **)(pcVar31 + 0x2dc76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2dc76c)" ( (binary_expression "pcVar31 + 0x2dc76c" identifier + number_literal) ))))) ;) (expression_statement "pdVar7 = (double *)(*(int *)(pcVar31 + 0x2dba4c) + 0x5060);" (assignment_expression "pdVar7 = (double *)(*(int *)(pcVar31 + 0x2dba4c) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar31 + 0x2dba4c) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2dba4c) + 0x5060)" ( (binary_expression "*(int *)(pcVar31 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar31 + 0x2dba4c)" * (cast_expression "(int *)(pcVar31 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba4c)" ( (binary_expression "pcVar31 + 0x2dba4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar14 = (int *)(*(int *)(pcVar31 + 0x2dba44) + 0xdd0);" (assignment_expression "piVar14 = (int *)(*(int *)(pcVar31 + 0x2dba44) + 0xdd0)" identifier = (cast_expression "(int *)(*(int *)(pcVar31 + 0x2dba44) + 0xdd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2dba44) + 0xdd0)" ( (binary_expression "*(int *)(pcVar31 + 0x2dba44) + 0xdd0" (pointer_expression "*(int *)(pcVar31 + 0x2dba44)" * (cast_expression "(int *)(pcVar31 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dba44)" ( (binary_expression "pcVar31 + 0x2dba44" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar31 = pcVar32 + 0x2e35c0;" (assignment_expression "pcVar31 = pcVar32 + 0x2e35c0" identifier = (binary_expression "pcVar32 + 0x2e35c0" identifier + number_literal)) ;) (expression_statement "piVar27 = *(int **)(pcVar32 + 0x2dbf40);" (assignment_expression "piVar27 = *(int **)(pcVar32 + 0x2dbf40)" identifier = (pointer_expression "*(int **)(pcVar32 + 0x2dbf40)" * (cast_expression "(int **)(pcVar32 + 0x2dbf40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x2dbf40)" ( (binary_expression "pcVar32 + 0x2dbf40" identifier + number_literal) ))))) ;) (expression_statement "pdStack_1d0 = pdStack_e8;" (assignment_expression "pdStack_1d0 = pdStack_e8" identifier = identifier) ;) (expression_statement "pdStack_1d8 = local_a0;" (assignment_expression "pdStack_1d8 = local_a0" identifier = identifier) ;) (expression_statement "piStack_1e4 = (int *)*piVar27;" (assignment_expression "piStack_1e4 = (int *)*piVar27" identifier = (cast_expression "(int *)*piVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar27" * identifier))) ;) (expression_statement "pcStack_2a0 = pcVar31;" (assignment_expression "pcStack_2a0 = pcVar31" identifier = identifier) ;) (expression_statement "puStack_1e0 = puVar25;" (assignment_expression "puStack_1e0 = puVar25" identifier = identifier) ;) (expression_statement "MStack_1dc = in_stack_00000020;" (assignment_expression "MStack_1dc = in_stack_00000020" identifier = identifier) ;) (expression_statement "iStack_1d4 = unaff_s3;" (assignment_expression "iStack_1d4 = unaff_s3" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) {\nLAB_000cddd8:\n    iVar20 = 0xe4d;\n    pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n    piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar32 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar14;\n    if (piVar14[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar14[0xcd4] == 0) {\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }\n    else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }\n    piVar14 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar31 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar27) {\n      return (MagickBooleanType)puVar25;\n    }\n  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000cddd8:\n    iVar20 = 0xe4d;\n    pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n    piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar32 + 0x2dc318))();\n  }" { (labeled_statement "LAB_000cddd8:\n    iVar20 = 0xe4d;" statement_identifier : (expression_statement "iVar20 = 0xe4d;" (assignment_expression "iVar20 = 0xe4d" identifier = number_literal) ;)) (expression_statement "pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + 0x2db5f8) + 0x5060)" ( (binary_expression "*(int *)(pcVar32 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar32 + 0x2db5f8)" * (cast_expression "(int *)(pcVar32 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f8)" ( (binary_expression "pcVar32 + 0x2db5f8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0);" (assignment_expression "piVar14 = (int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0)" identifier = (cast_expression "(int *)(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + 0x2db5f0) + 0xdd0)" ( (binary_expression "*(int *)(pcVar32 + 0x2db5f0) + 0xdd0" (pointer_expression "*(int *)(pcVar32 + 0x2db5f0)" * (cast_expression "(int *)(pcVar32 + 0x2db5f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f0)" ( (binary_expression "pcVar32 + 0x2db5f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar32 + 0x2dc318))();" (call_expression "(**(code **)(pcVar32 + 0x2dc318))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x2dc318))" ( (pointer_expression "**(code **)(pcVar32 + 0x2dc318)" * (pointer_expression "*(code **)(pcVar32 + 0x2dc318)" * (cast_expression "(code **)(pcVar32 + 0x2dc318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x2dc318)" ( (binary_expression "pcVar32 + 0x2dc318" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_s7 = piVar14;\n    if (piVar14[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar14[0xcd4] == 0) {\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }\n    else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }\n    piVar14 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar31 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar27) {\n      return (MagickBooleanType)puVar25;\n    }\n  }" else (compound_statement "{\n    unaff_s7 = piVar14;\n    if (piVar14[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar14[0xcd4] == 0) {\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }\n    else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }\n    piVar14 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar31 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar27) {\n      return (MagickBooleanType)puVar25;\n    }\n  }" { (expression_statement "unaff_s7 = piVar14;" (assignment_expression "unaff_s7 = piVar14" identifier = identifier) ;) (if_statement "if (piVar14[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" if (parenthesized_expression "(piVar14[0xcdb] != -0x54535255)" ( (binary_expression "piVar14[0xcdb] != -0x54535255" (subscript_expression "piVar14[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" { (expression_statement "(**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410);" (call_expression "(**(code **)(pcVar32 + 0x2dc318))\n                (*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410)" (parenthesized_expression "(**(code **)(pcVar32 + 0x2dc318))" ( (pointer_expression "**(code **)(pcVar32 + 0x2dc318)" * (pointer_expression "*(code **)(pcVar32 + 0x2dc318)" * (cast_expression "(code **)(pcVar32 + 0x2dc318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x2dc318)" ( (binary_expression "pcVar32 + 0x2dc318" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + 0x2db5f8) + -0x3784,*(int *)(pcVar32 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar32 + 0x2db5f8) + 0x5410)" ( (binary_expression "*(int *)(pcVar32 + 0x2db5f8) + -0x3784" (pointer_expression "*(int *)(pcVar32 + 0x2db5f8)" * (cast_expression "(int *)(pcVar32 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f8)" ( (binary_expression "pcVar32 + 0x2db5f8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar32 + 0x2db5f8)" * (cast_expression "(int *)(pcVar32 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f8)" ( (binary_expression "pcVar32 + 0x2db5f8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar32 + 0x2db5f8) + 0x5410" (pointer_expression "*(int *)(pcVar32 + 0x2db5f8)" * (cast_expression "(int *)(pcVar32 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f8)" ( (binary_expression "pcVar32 + 0x2db5f8" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000cddd8;" goto statement_identifier ;) })) (if_statement "if (piVar14[0xcd4] == 0) {\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }\n    else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }" if (parenthesized_expression "(piVar14[0xcd4] == 0)" ( (binary_expression "piVar14[0xcd4] == 0" (subscript_expression "piVar14[0xcd4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pdVar17 = pdVar7;\n      iVar20 = iVar2;\n      if (pdVar7 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }\n      uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);\n      gamma = dStack_238;\n      if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar37 = dStack_230;\n      if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }\n      if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar6 = (*pcVar31)(piVar14,iVar2);\n      iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);\n      if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar17 = local_a0;\n      dStack_210 = dVar37;\n      dStack_208 = gamma;\n      piStack_200 = piVar14;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar6;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);\n      puVar25 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar6);\n    }" { (expression_statement "pdVar17 = pdVar7;" (assignment_expression "pdVar17 = pdVar7" identifier = identifier) ;) (expression_statement "iVar20 = iVar2;" (assignment_expression "iVar20 = iVar2" identifier = identifier) ;) (if_statement "if (pdVar7 == (double *)0x0) goto LAB_000cd570;" if (parenthesized_expression "(pdVar7 == (double *)0x0)" ( (binary_expression "pdVar7 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd570;" goto statement_identifier ;)) (labeled_statement "LAB_000cd380:\n      if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }" statement_identifier : (if_statement "if ((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }" if (parenthesized_expression "((0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f)))" ( (binary_expression "(0x1e < piVar14[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < piVar14[1] - 3U)" ( (binary_expression "0x1e < piVar14[1] - 3U" number_literal < (binary_expression "piVar14[1] - 3U" (subscript_expression "piVar14[1]" identifier [ number_literal ]) - number_literal)) )) || (parenthesized_expression "(-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f)" ( (binary_expression "(0x403c0001U >> (piVar14[1] - 3U & 0x1f)) << 0x1f" (parenthesized_expression "(0x403c0001U >> (piVar14[1] - 3U & 0x1f))" ( (binary_expression "0x403c0001U >> (piVar14[1] - 3U & 0x1f)" number_literal >> (parenthesized_expression "(piVar14[1] - 3U & 0x1f)" ( (binary_expression "piVar14[1] - 3U & 0x1f" (binary_expression "piVar14[1] - 3U" (subscript_expression "piVar14[1]" identifier [ number_literal ]) - number_literal) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);\n      }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2);" (call_expression "(**(code **)(pcStack_2a0 + -0x7b70))(piVar14,0x17,iVar2)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b70))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7b70)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7b70)" * (cast_expression "(code **)(pcStack_2a0 + -0x7b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7b70)" ( (binary_expression "pcStack_2a0 + -0x7b70" identifier + number_literal) ))))) )) (argument_list "(piVar14,0x17,iVar2)" ( identifier , number_literal , identifier ))) ;) }))) (expression_statement "uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240);" (assignment_expression "uVar11 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x745c))(pdVar7,&dStack_240)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x745c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x745c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x745c)" * (cast_expression "(code **)(pcStack_2a0 + -0x745c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x745c)" ( (binary_expression "pcStack_2a0 + -0x745c" identifier + number_literal) ))))) )) (argument_list "(pdVar7,&dStack_240)" ( identifier , (pointer_expression "&dStack_240" & identifier) )))) ;) (expression_statement "gamma = dStack_238;" (assignment_expression "gamma = dStack_238" identifier = identifier) ;) (if_statement "if ((uVar11 & 8) == 0) {\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" if (parenthesized_expression "((uVar11 & 8) == 0)" ( (binary_expression "(uVar11 & 8) == 0" (parenthesized_expression "(uVar11 & 8)" ( (binary_expression "uVar11 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" { (expression_statement "gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "gamma = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "dVar37 = dStack_230;" (assignment_expression "dVar37 = dStack_230" identifier = identifier) ;) (if_statement "if ((uVar11 & 1) == 0) {\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" if (parenthesized_expression "((uVar11 & 1) == 0)" ( (binary_expression "(uVar11 & 1) == 0" (parenthesized_expression "(uVar11 & 1)" ( (binary_expression "uVar11 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" { (expression_statement "dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dVar37 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);" (assignment_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73f0))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73f0)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73f0)" * (cast_expression "(code **)(pcStack_2a0 + -0x73f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73f0)" ( (binary_expression "pcStack_2a0 + -0x73f0" identifier + number_literal) ))))) )) (argument_list "(piVar14,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" ( identifier , (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar20 == 0) {\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_298 = 0;\n        dVar39 = dStack_240;\n      }" { (expression_statement "iStack_298 = 0;" (assignment_expression "iStack_298 = 0" identifier = number_literal) ;) (expression_statement "dVar39 = dStack_240;" (assignment_expression "dVar39 = dStack_240" identifier = identifier) ;) }) (else_clause "else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }" else (compound_statement "{\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);\n        dVar39 = dStack_240;\n      }" { (expression_statement "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20);" (assignment_expression "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar20)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x721c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x721c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x721c)" * (cast_expression "(code **)(pcStack_2a0 + -0x721c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x721c)" ( (binary_expression "pcStack_2a0 + -0x721c" identifier + number_literal) ))))) )) (argument_list "(9,0,iVar20)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "dVar39 = dStack_240;" (assignment_expression "dVar39 = dStack_240" identifier = identifier) ;) }))) (if_statement "if ((*piVar14 == 2) && (0 < piVar14[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" if (parenthesized_expression "((*piVar14 == 2) && (0 < piVar14[9]))" ( (binary_expression "(*piVar14 == 2) && (0 < piVar14[9])" (parenthesized_expression "(*piVar14 == 2)" ( (binary_expression "*piVar14 == 2" (pointer_expression "*piVar14" * identifier) == number_literal) )) && (parenthesized_expression "(0 < piVar14[9])" ( (binary_expression "0 < piVar14[9]" number_literal < (subscript_expression "piVar14[9]" identifier [ number_literal ])) ))) )) (compound_statement "{\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar41 = *(double *)(iStack_280 + -0x39f0);\n        iVar20 = piVar14[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar38;\n        do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (expression_statement "dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);" (assignment_expression "dVar38 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8)" identifier = (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uStack_294 = iStack_298 - 4;" (assignment_expression "uStack_294 = iStack_298 - 4" identifier = (binary_expression "iStack_298 - 4" identifier - number_literal)) ;) (expression_statement "pdStack_284 = &dStack_250;" (assignment_expression "pdStack_284 = &dStack_250" identifier = (pointer_expression "&dStack_250" & identifier)) ;) (expression_statement "puStack_290 = &uStack_268;" (assignment_expression "puStack_290 = &uStack_268" identifier = (pointer_expression "&uStack_268" & identifier)) ;) (expression_statement "puStack_28c = &uStack_260;" (assignment_expression "puStack_28c = &uStack_260" identifier = (pointer_expression "&uStack_260" & identifier)) ;) (expression_statement "dVar41 = *(double *)(iStack_280 + -0x39f0);" (assignment_expression "dVar41 = *(double *)(iStack_280 + -0x39f0)" identifier = (pointer_expression "*(double *)(iStack_280 + -0x39f0)" * (cast_expression "(double *)(iStack_280 + -0x39f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_280 + -0x39f0)" ( (binary_expression "iStack_280 + -0x39f0" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = piVar14[10];" (assignment_expression "iVar20 = piVar14[10]" identifier = (subscript_expression "piVar14[10]" identifier [ number_literal ])) ;) (expression_statement "puStack_288 = &uStack_258;" (assignment_expression "puStack_288 = &uStack_258" identifier = (pointer_expression "&uStack_258" & identifier)) ;) (expression_statement "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);" (assignment_expression "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4" (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) + (binary_expression "uStack_294 * 4" identifier * number_literal)) )))) ;) (expression_statement "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8)" identifier = (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "dStack_270 = dVar38;" (assignment_expression "dStack_270 = dVar38" identifier = identifier) ;) (do_statement "do {\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar26);" do (compound_statement "{\n          iVar20 = iVar20 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar20 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar20 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar20 + 0x38);\n          if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar35 / dVar41 + dStack_250;\n          dStack_218 = gamma * dVar38 * dStack_218;\n          uStack_2b8 = dVar39 * dVar38 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar20 = piVar14[10];\n          iVar26 = piVar14[9];\n          iVar8 = iVar20 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar8 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar8 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar8 + 0x38) = uStack_268;\n        }" { (expression_statement "iVar20 = iVar20 + unaff_s8;" (assignment_expression "iVar20 = iVar20 + unaff_s8" identifier = (binary_expression "iVar20 + unaff_s8" identifier + identifier)) ;) (expression_statement "uStack_258 = *(undefined8 *)(iVar20 + 0x28);" (assignment_expression "uStack_258 = *(undefined8 *)(iVar20 + 0x28)" identifier = (pointer_expression "*(undefined8 *)(iVar20 + 0x28)" * (cast_expression "(undefined8 *)(iVar20 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x28)" ( (binary_expression "iVar20 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uStack_260 = *(undefined8 *)(iVar20 + 0x30);" (assignment_expression "uStack_260 = *(undefined8 *)(iVar20 + 0x30)" identifier = (pointer_expression "*(undefined8 *)(iVar20 + 0x30)" * (cast_expression "(undefined8 *)(iVar20 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x30)" ( (binary_expression "iVar20 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uStack_268 = *(undefined8 *)(iVar20 + 0x38);" (assignment_expression "uStack_268 = *(undefined8 *)(iVar20 + 0x38)" identifier = (pointer_expression "*(undefined8 *)(iVar20 + 0x38)" * (cast_expression "(undefined8 *)(iVar20 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (uStack_294 < 0xb) {\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }" if (parenthesized_expression "(uStack_294 < 0xb)" ( (binary_expression "uStack_294 < 0xb" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            MVar28 = (*(pcStack_2a0 + *unaff_s5))();\n            return MVar28;\n          }" { comment comment (expression_statement "MVar28 = (*(pcStack_2a0 + *unaff_s5))();" (assignment_expression "MVar28 = (*(pcStack_2a0 + *unaff_s5))()" identifier = (call_expression "(*(pcStack_2a0 + *unaff_s5))()" (parenthesized_expression "(*(pcStack_2a0 + *unaff_s5))" ( (pointer_expression "*(pcStack_2a0 + *unaff_s5)" * (parenthesized_expression "(pcStack_2a0 + *unaff_s5)" ( (binary_expression "pcStack_2a0 + *unaff_s5" identifier + (pointer_expression "*unaff_s5" * identifier)) ))) )) (argument_list "()" ( )))) ;) (return_statement "return MVar28;" return identifier ;) })) (expression_statement "pdStack_2b0 = pdStack_284;" (assignment_expression "pdStack_2b0 = pdStack_284" identifier = identifier) ;) (expression_statement "uStack_2b8 = (double)uStack_268;" (assignment_expression "uStack_2b8 = (double)uStack_268" identifier = (cast_expression "(double)uStack_268" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdStack_2ac = &dStack_218;" (assignment_expression "pdStack_2ac = &dStack_218" identifier = (pointer_expression "&dStack_218" & identifier)) ;) (expression_statement "pdStack_2a8 = &dStack_248;" (assignment_expression "pdStack_2a8 = &dStack_248" identifier = (pointer_expression "&dStack_248" & identifier)) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7b7c))();" (call_expression "(**(code **)(pcStack_2a0 + -0x7b7c))()" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b7c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7b7c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7b7c)" * (cast_expression "(code **)(pcStack_2a0 + -0x7b7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7b7c)" ( (binary_expression "pcStack_2a0 + -0x7b7c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41);" (assignment_expression "dVar35 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41)" identifier = (cast_expression "(double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcStack_2a0 + -0x6ef8))(dVar37 - dStack_278,dVar41)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x6ef8))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x6ef8)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x6ef8)" * (cast_expression "(code **)(pcStack_2a0 + -0x6ef8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x6ef8)" ( (binary_expression "pcStack_2a0 + -0x6ef8" identifier + number_literal) ))))) )) (argument_list "(dVar37 - dStack_278,dVar41)" ( (binary_expression "dVar37 - dStack_278" identifier - identifier) , identifier ))))) ;) (expression_statement "pdStack_2a8 = (double *)puStack_290;" (assignment_expression "pdStack_2a8 = (double *)puStack_290" identifier = (cast_expression "(double *)puStack_290" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdStack_2ac = (double *)puStack_28c;" (assignment_expression "pdStack_2ac = (double *)puStack_28c" identifier = (cast_expression "(double *)puStack_28c" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdStack_2b0 = (double *)puStack_288;" (assignment_expression "pdStack_2b0 = (double *)puStack_288" identifier = (cast_expression "(double *)puStack_288" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "dStack_250 = dVar35 / dVar41 + dStack_250;" (assignment_expression "dStack_250 = dVar35 / dVar41 + dStack_250" identifier = (binary_expression "dVar35 / dVar41 + dStack_250" (binary_expression "dVar35 / dVar41" identifier / identifier) + identifier)) ;) (expression_statement "dStack_218 = gamma * dVar38 * dStack_218;" (assignment_expression "dStack_218 = gamma * dVar38 * dStack_218" identifier = (binary_expression "gamma * dVar38 * dStack_218" (binary_expression "gamma * dVar38" identifier * identifier) * identifier)) ;) (expression_statement "uStack_2b8 = dVar39 * dVar38 * dStack_248;" (assignment_expression "uStack_2b8 = dVar39 * dVar38 * dStack_248" identifier = (binary_expression "dVar39 * dVar38 * dStack_248" (binary_expression "dVar39 * dVar38" identifier * identifier) * identifier)) ;) (expression_statement "dStack_248 = uStack_2b8;" (assignment_expression "dStack_248 = uStack_2b8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);" (call_expression "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7230))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7230)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7230)" * (cast_expression "(code **)(pcStack_2a0 + -0x7230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7230)" ( (binary_expression "pcStack_2a0 + -0x7230" identifier + number_literal) ))))) )) (argument_list "(dStack_250,dStack_218)" ( identifier , identifier ))) ;) (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" identifier = (binary_expression "unaff_s6 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = piVar14[10];" (assignment_expression "iVar20 = piVar14[10]" identifier = (subscript_expression "piVar14[10]" identifier [ number_literal ])) ;) (expression_statement "iVar26 = piVar14[9];" (assignment_expression "iVar26 = piVar14[9]" identifier = (subscript_expression "piVar14[9]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = iVar20 + unaff_s8;" (assignment_expression "iVar8 = iVar20 + unaff_s8" identifier = (binary_expression "iVar20 + unaff_s8" identifier + identifier)) ;) (expression_statement "unaff_s8 = unaff_s8 + 0x58;" (assignment_expression "unaff_s8 = unaff_s8 + 0x58" identifier = (binary_expression "unaff_s8 + 0x58" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)(iVar8 + 0x28) = uStack_258;" (assignment_expression "*(undefined8 *)(iVar8 + 0x28) = uStack_258" (pointer_expression "*(undefined8 *)(iVar8 + 0x28)" * (cast_expression "(undefined8 *)(iVar8 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x28)" ( (binary_expression "iVar8 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar8 + 0x30) = uStack_260;" (assignment_expression "*(undefined8 *)(iVar8 + 0x30) = uStack_260" (pointer_expression "*(undefined8 *)(iVar8 + 0x30)" * (cast_expression "(undefined8 *)(iVar8 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x30)" ( (binary_expression "iVar8 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar8 + 0x38) = uStack_268;" (assignment_expression "*(undefined8 *)(iVar8 + 0x38) = uStack_268" (pointer_expression "*(undefined8 *)(iVar8 + 0x38)" * (cast_expression "(undefined8 *)(iVar8 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x38)" ( (binary_expression "iVar8 + 0x38" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(unaff_s6 < iVar26)" ( (binary_expression "unaff_s6 < iVar26" identifier < identifier) )) ;) (expression_statement "pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x79dc)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79dc)" ( (binary_expression "pcStack_2a0 + -0x79dc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" else (compound_statement "{\n        pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" { (expression_statement "pcVar31 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x79dc)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79dc)" ( (binary_expression "pcStack_2a0 + -0x79dc" identifier + number_literal) ))))) ;) }))) (expression_statement "local_a0 = &dStack_218;" (assignment_expression "local_a0 = &dStack_218" identifier = (pointer_expression "&dStack_218" & identifier)) ;) (expression_statement "pdStack_e8 = &dStack_248;" (assignment_expression "pdStack_e8 = &dStack_248" identifier = (pointer_expression "&dStack_248" & identifier)) ;) (expression_statement "dStack_248 = 0.0;" (assignment_expression "dStack_248 = 0.0" identifier = number_literal) ;) (expression_statement "uVar6 = (*pcVar31)(piVar14,iVar2);" (assignment_expression "uVar6 = (*pcVar31)(piVar14,iVar2)" identifier = (call_expression "(*pcVar31)(piVar14,iVar2)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(piVar14,iVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14);" (assignment_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) ;) (if_statement "if (((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))))" ( (binary_expression "((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))\n         && ((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))" (parenthesized_expression "((iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))" ( (binary_expression "(iVar20 == 4) || (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)" (parenthesized_expression "(iVar20 == 4)" ( (binary_expression "iVar20 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)" ( (comma_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3" (assignment_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) , (binary_expression "iVar20 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)))" ( (parenthesized_expression "(iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3))" ( (comma_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)" (assignment_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) , (binary_expression "iVar20 == 4 ||\n             (iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)" (binary_expression "iVar20 == 4" identifier == number_literal) || (parenthesized_expression "(iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3)" ( (comma_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14), iVar20 == 3" (assignment_expression "iVar20 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar14)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) , (binary_expression "iVar20 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar26 = piVar14[7];\n        iVar20 = iVar26;\n        if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar20 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar26 = piVar14[7];" (assignment_expression "iVar26 = piVar14[7]" identifier = (subscript_expression "piVar14[7]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = iVar26;" (assignment_expression "iVar20 = iVar26" identifier = identifier) ;) (if_statement "if (iVar26 < 0) {\n          iVar20 = iVar26 + 0x3f;\n        }" if (parenthesized_expression "(iVar26 < 0)" ( (binary_expression "iVar26 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar20 = iVar26 + 0x3f;\n        }" { (expression_statement "iVar20 = iVar26 + 0x3f;" (assignment_expression "iVar20 = iVar26 + 0x3f" identifier = (binary_expression "iVar26 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_04 < iVar20 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1_04 < iVar20 >> 6)" ( (binary_expression "extraout_v1_04 < iVar20 >> 6" identifier < (binary_expression "iVar20 >> 6" identifier >> number_literal)) )) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_06 < 2;" (assignment_expression "bVar1 = extraout_v1_06 < 2" identifier = (binary_expression "extraout_v1_06 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar26 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar26 < 0x80;\n        }" { (expression_statement "bVar1 = iVar26 < 0x80;" (assignment_expression "bVar1 = iVar26 < 0x80" identifier = (binary_expression "iVar26 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar20 = piVar14[7];\n          if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }\n          iVar20 = iVar20 >> 6;\n          if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar20 = piVar14[7];" (assignment_expression "iVar20 = piVar14[7]" identifier = (subscript_expression "piVar14[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar20 < 0) {\n            iVar20 = iVar20 + 0x3f;\n          }" if (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar20 = iVar20 + 0x3f;\n          }" { (expression_statement "iVar20 = iVar20 + 0x3f;" (assignment_expression "iVar20 = iVar20 + 0x3f" identifier = (binary_expression "iVar20 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar20 = iVar20 >> 6;" (assignment_expression "iVar20 = iVar20 >> 6" identifier = (binary_expression "iVar20 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_05 < iVar20) {\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" if (parenthesized_expression "(extraout_v1_05 < iVar20)" ( (binary_expression "extraout_v1_05 < iVar20" identifier < identifier) )) (compound_statement "{\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" { (expression_statement "pcVar31 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cdc0c;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }" else (compound_statement "{\n        uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar42 = (*pcVar31)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }\n      }" { (expression_statement "uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7);" (assignment_expression "uVar42 = (**(code **)(pcStack_2a0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }" { (expression_statement "pcVar31 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" if (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar42 = (*pcVar31)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" { (expression_statement "uVar42 = (*pcVar31)(7);" (assignment_expression "uVar42 = (*pcVar31)(7)" identifier = (call_expression "(*pcVar31)(7)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;" if (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000cd4bc;" goto statement_identifier ;)) (expression_statement "pcVar31 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar42 < 2) {\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }" if (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar20 = 1;\n              goto LAB_000cd4d8;\n            }" { (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000cd4d8;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }" else (compound_statement "{\nLAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);\n        }" { (labeled_statement "LAB_000cd4bc:\n          pcVar31 = *(code **)(pcStack_2a0 + -0x7774);" statement_identifier : (expression_statement "pcVar31 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar42 = (*pcVar31)(7);" (assignment_expression "uVar42 = (*pcVar31)(7)" identifier = (call_expression "(*pcVar31)(7)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)) {\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }\n        else {\n          iVar20 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2))" ( (binary_expression "((int)((ulonglong)uVar42 >> 0x20) == 0) &&\n           (pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)" (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2)" ( (comma_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar42 < 2" (assignment_expression "pcVar31 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_000cdc0c:\n          (*pcVar31)(7);\n          iVar20 = extraout_v1_03;\n        }" { (labeled_statement "LAB_000cdc0c:\n          (*pcVar31)(7);" statement_identifier : (expression_statement "(*pcVar31)(7);" (call_expression "(*pcVar31)(7)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar20 = extraout_v1_03;" (assignment_expression "iVar20 = extraout_v1_03" identifier = identifier) ;) }) (else_clause "else {\n          iVar20 = 2;\n        }" else (compound_statement "{\n          iVar20 = 2;\n        }" { (expression_statement "iVar20 = 2;" (assignment_expression "iVar20 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000cd4d8:\n      iStack_1f4 = iStack_298;" statement_identifier : (expression_statement "iStack_1f4 = iStack_298;" (assignment_expression "iStack_1f4 = iStack_298" identifier = identifier) ;)) (expression_statement "puStack_1f0 = (undefined *)0x1;" (assignment_expression "puStack_1f0 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar17 = local_a0;" (assignment_expression "pdVar17 = local_a0" identifier = identifier) ;) (expression_statement "dStack_210 = dVar37;" (assignment_expression "dStack_210 = dVar37" identifier = identifier) ;) (expression_statement "dStack_208 = gamma;" (assignment_expression "dStack_208 = gamma" identifier = identifier) ;) (expression_statement "piStack_200 = piVar14;" (assignment_expression "piStack_200 = piVar14" identifier = identifier) ;) (expression_statement "iStack_1fc = iVar2;" (assignment_expression "iStack_1fc = iVar2" identifier = identifier) ;) (expression_statement "uStack_1f8 = uVar6;" (assignment_expression "uStack_1f8 = uVar6" identifier = identifier) ;) (expression_statement "pdStack_1ec = pdStack_e8;" (assignment_expression "pdStack_1ec = pdStack_e8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0);" (call_expression "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7718))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7718)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7718)" * (cast_expression "(code **)(pcStack_2a0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7718)" ( (binary_expression "pcStack_2a0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar20,0)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8" (pointer_expression "*(int *)(pcStack_2a0 + -0x7e4c)" * (cast_expression "(int *)(pcStack_2a0 + -0x7e4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7e4c)" ( (binary_expression "pcStack_2a0 + -0x7e4c" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "puVar25 = puStack_1f0;" (assignment_expression "puVar25 = puStack_1f0" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x79bc))(uVar6);" (call_expression "(**(code **)(pcStack_2a0 + -0x79bc))(uVar6)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x79bc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x79bc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x79bc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79bc)" ( (binary_expression "pcStack_2a0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) }) (else_clause "else {\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }" else (compound_statement "{\n      iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;\n      pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);\n      (**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);\n      if (pdVar7 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar25 = (undefined *)0x0;\n    }" { (expression_statement "iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400;" (assignment_expression "iVar20 = *(int *)(pcVar32 + 0x2db5f8) + 0x5400" identifier = (binary_expression "*(int *)(pcVar32 + 0x2db5f8) + 0x5400" (pointer_expression "*(int *)(pcVar32 + 0x2db5f8)" * (cast_expression "(int *)(pcVar32 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f8)" ( (binary_expression "pcVar32 + 0x2db5f8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar17 = (double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar32 + 0x2db5f8) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + 0x2db5f8) + 0x5060)" ( (binary_expression "*(int *)(pcVar32 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar32 + 0x2db5f8)" * (cast_expression "(int *)(pcVar32 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f8)" ( (binary_expression "pcVar32 + 0x2db5f8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0);" (assignment_expression "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0)" identifier = (cast_expression "(double)CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0)" identifier (argument_list "(*(int *)(pcVar32 + 0x2db5f4) + -0x62ac,piVar14 + 0xd0)" ( (binary_expression "*(int *)(pcVar32 + 0x2db5f4) + -0x62ac" (pointer_expression "*(int *)(pcVar32 + 0x2db5f4)" * (cast_expression "(int *)(pcVar32 + 0x2db5f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x2db5f4)" ( (binary_expression "pcVar32 + 0x2db5f4" identifier + number_literal) )))) + number_literal) , (binary_expression "piVar14 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50);" (call_expression "(**(code **)(pcVar32 + 0x2dbef0))(0x8000,pdVar17,iVar20,0xe50)" (parenthesized_expression "(**(code **)(pcVar32 + 0x2dbef0))" ( (pointer_expression "**(code **)(pcVar32 + 0x2dbef0)" * (pointer_expression "*(code **)(pcVar32 + 0x2dbef0)" * (cast_expression "(code **)(pcVar32 + 0x2dbef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x2dbef0)" ( (binary_expression "pcVar32 + 0x2dbef0" identifier + number_literal) ))))) )) (argument_list "(0x8000,pdVar17,iVar20,0xe50)" ( number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (pdVar7 != (double *)0x0) goto LAB_000cd380;" if (parenthesized_expression "(pdVar7 != (double *)0x0)" ( (binary_expression "pdVar7 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd380;" goto statement_identifier ;)) (labeled_statement "LAB_000cd570:\n      puVar25 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar25 = (undefined *)0x0;" (assignment_expression "puVar25 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "piVar14 = piStack_1e4;" (assignment_expression "piVar14 = piStack_1e4" identifier = identifier) ;) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" identifier = identifier) ;) (expression_statement "pcVar31 = pcStack_2a0;" (assignment_expression "pcVar31 = pcStack_2a0" identifier = identifier) ;) (if_statement "if (piStack_1e4 == (int *)*piVar27) {\n      return (MagickBooleanType)puVar25;\n    }" if (parenthesized_expression "(piStack_1e4 == (int *)*piVar27)" ( (binary_expression "piStack_1e4 == (int *)*piVar27" identifier == (cast_expression "(int *)*piVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar27" * identifier))) )) (compound_statement "{\n      return (MagickBooleanType)puVar25;\n    }" { (return_statement "return (MagickBooleanType)puVar25;" return (cast_expression "(MagickBooleanType)puVar25" ( (type_descriptor "MagickBooleanType" type_identifier) ) identifier) ;) })) }))) (expression_statement "pcVar31 = *(code **)(pcVar31 + -0x784c);" (assignment_expression "pcVar31 = *(code **)(pcVar31 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar31 + -0x784c)" * (cast_expression "(code **)(pcVar31 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + -0x784c)" ( (binary_expression "pcVar31 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = NegateImage;" (assignment_expression "pcVar32 = NegateImage" identifier = identifier) ;) (expression_statement "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar29 = *(int **)(pcVar31 + 0x2db428);" (assignment_expression "piVar29 = *(int **)(pcVar31 + 0x2db428)" identifier = (pointer_expression "*(int **)(pcVar31 + 0x2db428)" * (cast_expression "(int **)(pcVar31 + 0x2db428)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db428)" ( (binary_expression "pcVar31 + 0x2db428" identifier + number_literal) ))))) ;) (expression_statement "iStack_30c = *piVar29;" (assignment_expression "iStack_30c = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "puStack_308 = puVar25;" (assignment_expression "puStack_308 = puVar25" identifier = identifier) ;) (expression_statement "piStack_304 = piVar27;" (assignment_expression "piStack_304 = piVar27" identifier = identifier) ;) (expression_statement "pdStack_300 = local_a0;" (assignment_expression "pdStack_300 = local_a0" identifier = identifier) ;) (expression_statement "iStack_2fc = unaff_s3;" (assignment_expression "iStack_2fc = unaff_s3" identifier = identifier) ;) (expression_statement "pdStack_2f8 = pdStack_e8;" (assignment_expression "pdStack_2f8 = pdStack_e8" identifier = identifier) ;) (expression_statement "piStack_2f4 = unaff_s5;" (assignment_expression "piStack_2f4 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_2f0 = unaff_s6;" (assignment_expression "iStack_2f0 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_2ec = unaff_s7;" (assignment_expression "piStack_2ec = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_2e8 = unaff_s8;" (assignment_expression "iStack_2e8 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_2e4 = pcVar32;" (assignment_expression "pcStack_2e4 = pcVar32" identifier = identifier) ;) (expression_statement "dStack_2e0 = dVar37;" (assignment_expression "dStack_2e0 = dVar37" identifier = identifier) ;) (expression_statement "dStack_2d8 = gamma;" (assignment_expression "dStack_2d8 = gamma" identifier = identifier) ;) (expression_statement "dStack_2d0 = dVar39;" (assignment_expression "dStack_2d0 = dVar39" identifier = identifier) ;) (if_statement "if (piVar14 == (int *)0x0) goto LAB_000ce444;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce444;" goto statement_identifier ;)) (if_statement "if (piVar14[0xcdb] == -0x54535255) {\n    if (piVar14[0xcd4] != 0) {\n      (**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);\n    }\n    if (*piVar14 == 2) {\n      iVar2 = piVar14[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar26 = 0;\n      iVar8 = 0;\n      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar6 = (*pcVar32)(piVar14,iVar20);\n    if (pdVar17 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      MStack_314 = MagickTrue;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar14;\n      iStack_31c = iVar20;\n      uStack_318 = uVar6;\n      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      MVar28 = MStack_314;\n      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);\n    }\n    else {\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }\n    if (iStack_30c == *piVar29) {\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2db25c))();\n  }" if (parenthesized_expression "(piVar14[0xcdb] == -0x54535255)" ( (binary_expression "piVar14[0xcdb] == -0x54535255" (subscript_expression "piVar14[0xcdb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (piVar14[0xcd4] != 0) {\n      (**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);\n    }\n    if (*piVar14 == 2) {\n      iVar2 = piVar14[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar26 = 0;\n      iVar8 = 0;\n      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar6 = (*pcVar32)(piVar14,iVar20);\n    if (pdVar17 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      MStack_314 = MagickTrue;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar14;\n      iStack_31c = iVar20;\n      uStack_318 = uVar6;\n      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      MVar28 = MStack_314;\n      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);\n    }\n    else {\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }\n    if (iStack_30c == *piVar29) {\n      return MVar28;\n    }\n    (**(code **)(pcVar31 + 0x2db25c))();\n  }" { (if_statement "if (piVar14[0xcd4] != 0) {\n      (**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);\n    }" if (parenthesized_expression "(piVar14[0xcd4] != 0)" ( (binary_expression "piVar14[0xcd4] != 0" (subscript_expression "piVar14[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);\n    }" { (expression_statement "(**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0);" (call_expression "(**(code **)(pcVar31 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db3d8))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db3d8)" * (pointer_expression "*(code **)(pcVar31 + 0x2db3d8)" * (cast_expression "(code **)(pcVar31 + 0x2db3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db3d8)" ( (binary_expression "pcVar31 + 0x2db3d8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar31 + 0x2daae0) + 0x5060,*(int *)(pcVar31 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar31 + 0x2daadc) + -0x62ac,piVar14 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0x2daae0) + 0x53e8" (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0x2daadc) + -0x62ac" (pointer_expression "*(int *)(pcVar31 + 0x2daadc)" * (cast_expression "(int *)(pcVar31 + 0x2daadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daadc)" ( (binary_expression "pcVar31 + 0x2daadc" identifier + number_literal) )))) + number_literal) , (binary_expression "piVar14 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (*piVar14 == 2) {\n      iVar2 = piVar14[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar26 = 0;\n      iVar8 = 0;\n      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }" if (parenthesized_expression "(*piVar14 == 2)" ( (binary_expression "*piVar14 == 2" (pointer_expression "*piVar14" * identifier) == number_literal) )) (compound_statement "{\n      iVar2 = piVar14[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar26 = 0;\n      iVar8 = 0;\n      dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }" { (expression_statement "iVar2 = piVar14[9];" (assignment_expression "iVar2 = piVar14[9]" identifier = (subscript_expression "piVar14[9]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 1) goto LAB_000cde94;" if (parenthesized_expression "(iVar2 < 1)" ( (binary_expression "iVar2 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000cde94;" goto statement_identifier ;)) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58);" (assignment_expression "dVar37 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2daad8) + 0x1a58)" ( (binary_expression "*(int *)(pcVar31 + 0x2daad8) + 0x1a58" (pointer_expression "*(int *)(pcVar31 + 0x2daad8)" * (cast_expression "(int *)(pcVar31 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daad8)" ( (binary_expression "pcVar31 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (do_statement "do {\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      } while (iVar8 != iVar2);" do (compound_statement "{\n        if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }\n        iVar8 = iVar8 + 1;\n        iVar26 = iVar26 + 0x58;\n      }" { (if_statement "if (pdVar17 == (double *)0x0) {\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }\n        else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }" if (parenthesized_expression "(pdVar17 == (double *)0x0)" ( (binary_expression "pdVar17 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ce184:\n          iVar33 = piVar14[0xb4];\n          if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }\n          if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }\n          if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }\n        }" { (labeled_statement "LAB_000ce184:\n          iVar33 = piVar14[0xb4];" statement_identifier : (expression_statement "iVar33 = piVar14[0xb4];" (assignment_expression "iVar33 = piVar14[0xb4]" identifier = (subscript_expression "piVar14[0xb4]" identifier [ number_literal ])) ;)) (if_statement "if ((*(uint *)(iVar33 + 4) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }" if (parenthesized_expression "((*(uint *)(iVar33 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar33 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar33 + 4) & 2)" ( (binary_expression "*(uint *)(iVar33 + 4) & 2" (pointer_expression "*(uint *)(iVar33 + 4)" * (cast_expression "(uint *)(iVar33 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 4)" ( (binary_expression "iVar33 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);\n          }" { (expression_statement "*(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28);" (assignment_expression "*(double *)(piVar14[10] + iVar26 + 0x28) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28)" (pointer_expression "*(double *)(piVar14[10] + iVar26 + 0x28)" * (cast_expression "(double *)(piVar14[10] + iVar26 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[10] + iVar26 + 0x28)" ( (binary_expression "piVar14[10] + iVar26 + 0x28" (binary_expression "piVar14[10] + iVar26" (subscript_expression "piVar14[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar37 - *(double *)(piVar14[10] + iVar26 + 0x28)" identifier - (pointer_expression "*(double *)(piVar14[10] + iVar26 + 0x28)" * (cast_expression "(double *)(piVar14[10] + iVar26 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[10] + iVar26 + 0x28)" ( (binary_expression "piVar14[10] + iVar26 + 0x28" (binary_expression "piVar14[10] + iVar26" (subscript_expression "piVar14[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar33 + 0x10) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }" if (parenthesized_expression "((*(uint *)(iVar33 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar33 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar33 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar33 + 0x10) & 2" (pointer_expression "*(uint *)(iVar33 + 0x10)" * (cast_expression "(uint *)(iVar33 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x10)" ( (binary_expression "iVar33 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);\n          }" { (expression_statement "*(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30);" (assignment_expression "*(double *)(piVar14[10] + iVar26 + 0x30) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30)" (pointer_expression "*(double *)(piVar14[10] + iVar26 + 0x30)" * (cast_expression "(double *)(piVar14[10] + iVar26 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[10] + iVar26 + 0x30)" ( (binary_expression "piVar14[10] + iVar26 + 0x30" (binary_expression "piVar14[10] + iVar26" (subscript_expression "piVar14[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar37 - *(double *)(piVar14[10] + iVar26 + 0x30)" identifier - (pointer_expression "*(double *)(piVar14[10] + iVar26 + 0x30)" * (cast_expression "(double *)(piVar14[10] + iVar26 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[10] + iVar26 + 0x30)" ( (binary_expression "piVar14[10] + iVar26 + 0x30" (binary_expression "piVar14[10] + iVar26" (subscript_expression "piVar14[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar33 + 0x1c) & 2) != 0) {\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }" if (parenthesized_expression "((*(uint *)(iVar33 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar33 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar33 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar33 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar33 + 0x1c)" * (cast_expression "(uint *)(iVar33 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x1c)" ( (binary_expression "iVar33 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);\n          }" { (expression_statement "*(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38);" (assignment_expression "*(double *)(piVar14[10] + iVar26 + 0x38) =\n                 dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38)" (pointer_expression "*(double *)(piVar14[10] + iVar26 + 0x38)" * (cast_expression "(double *)(piVar14[10] + iVar26 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[10] + iVar26 + 0x38)" ( (binary_expression "piVar14[10] + iVar26 + 0x38" (binary_expression "piVar14[10] + iVar26" (subscript_expression "piVar14[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar37 - *(double *)(piVar14[10] + iVar26 + 0x38)" identifier - (pointer_expression "*(double *)(piVar14[10] + iVar26 + 0x38)" * (cast_expression "(double *)(piVar14[10] + iVar26 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[10] + iVar26 + 0x38)" ( (binary_expression "piVar14[10] + iVar26 + 0x38" (binary_expression "piVar14[10] + iVar26" (subscript_expression "piVar14[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) }) (else_clause "else {\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }" else (compound_statement "{\n          iVar33 = piVar14[10] + iVar26;\n          if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;\n        }" { (expression_statement "iVar33 = piVar14[10] + iVar26;" (assignment_expression "iVar33 = piVar14[10] + iVar26" identifier = (binary_expression "piVar14[10] + iVar26" (subscript_expression "piVar14[10]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if ((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))) goto LAB_000ce184;" if (parenthesized_expression "((*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38)))" ( (binary_expression "(*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)) &&\n             (*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))" (parenthesized_expression "(*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30))" ( (binary_expression "*(double *)(iVar33 + 0x28) == *(double *)(iVar33 + 0x30)" (pointer_expression "*(double *)(iVar33 + 0x28)" * (cast_expression "(double *)(iVar33 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x28)" ( (binary_expression "iVar33 + 0x28" identifier + number_literal) )))) == (pointer_expression "*(double *)(iVar33 + 0x30)" * (cast_expression "(double *)(iVar33 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x30)" ( (binary_expression "iVar33 + 0x30" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38))" ( (binary_expression "*(double *)(iVar33 + 0x30) == *(double *)(iVar33 + 0x38)" (pointer_expression "*(double *)(iVar33 + 0x30)" * (cast_expression "(double *)(iVar33 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x30)" ( (binary_expression "iVar33 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(double *)(iVar33 + 0x38)" * (cast_expression "(double *)(iVar33 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x38)" ( (binary_expression "iVar33 + 0x38" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_000ce184;" goto statement_identifier ;)) }))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar26 = iVar26 + 0x58;" (assignment_expression "iVar26 = iVar26 + 0x58" identifier = (binary_expression "iVar26 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != iVar2)" ( (binary_expression "iVar8 != iVar2" identifier != identifier) )) ;) (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db0cc);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db0cc)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db0cc)" * (cast_expression "(code **)(pcVar31 + 0x2db0cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db0cc)" ( (binary_expression "pcVar31 + 0x2db0cc" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }" else (compound_statement "{\nLAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);\n    }" { (labeled_statement "LAB_000cde94:\n      pcVar32 = *(code **)(pcVar31 + 0x2db0cc);" statement_identifier : (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db0cc);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db0cc)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db0cc)" * (cast_expression "(code **)(pcVar31 + 0x2db0cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db0cc)" ( (binary_expression "pcVar31 + 0x2db0cc" identifier + number_literal) ))))) ;)) }))) (expression_statement "uStack_324 = 0;" (assignment_expression "uStack_324 = 0" identifier = number_literal) ;) (expression_statement "iStack_328 = 0;" (assignment_expression "iStack_328 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = (*pcVar32)(piVar14,iVar20);" (assignment_expression "uVar6 = (*pcVar32)(piVar14,iVar20)" identifier = (call_expression "(*pcVar32)(piVar14,iVar20)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(piVar14,iVar20)" ( identifier , identifier )))) ;) (if_statement "if (pdVar17 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      MStack_314 = MagickTrue;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar14;\n      iStack_31c = iVar20;\n      uStack_318 = uVar6;\n      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      MVar28 = MStack_314;\n      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);\n    }\n    else {\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }" if (parenthesized_expression "(pdVar17 == (double *)0x0)" ( (binary_expression "pdVar17 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      MStack_314 = MagickTrue;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar14;\n      iStack_31c = iVar20;\n      uStack_318 = uVar6;\n      (**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      MVar28 = MStack_314;\n      (**(code **)(pcVar31 + 0x2db0ec))(uVar6);\n    }" { (expression_statement "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14);" (assignment_expression "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2db6ac))(piVar14)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar31 + 0x2db6ac)" * (cast_expression "(code **)(pcVar31 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db6ac)" ( (binary_expression "pcVar31 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))) {\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2db6ac))(piVar14)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar31 + 0x2db6ac)" * (cast_expression "(code **)(pcVar31 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db6ac)" ( (binary_expression "pcVar31 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2db6ac))(piVar14)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar31 + 0x2db6ac)" * (cast_expression "(code **)(pcVar31 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db6ac)" ( (binary_expression "pcVar31 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar31 + 0x2db6ac))(piVar14)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2db6ac))(piVar14)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar31 + 0x2db6ac)" * (cast_expression "(code **)(pcVar31 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db6ac)" ( (binary_expression "pcVar31 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcVar31 + 0x2db334))(7);\n        iVar26 = piVar14[7];\n        iVar2 = iVar26;\n        if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar31 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar31 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db334)" * (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar26 = piVar14[7];" (assignment_expression "iVar26 = piVar14[7]" identifier = (subscript_expression "piVar14[7]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = iVar26;" (assignment_expression "iVar2 = iVar26" identifier = identifier) ;) (if_statement "if (iVar26 < 0) {\n          iVar2 = iVar26 + 0x3f;\n        }" if (parenthesized_expression "(iVar26 < 0)" ( (binary_expression "iVar26 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar2 = iVar26 + 0x3f;\n        }" { (expression_statement "iVar2 = iVar26 + 0x3f;" (assignment_expression "iVar2 = iVar26 + 0x3f" identifier = (binary_expression "iVar26 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar26 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1_07 < iVar2 >> 6)" ( (binary_expression "extraout_v1_07 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (compound_statement "{\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }" { (expression_statement "(**(code **)(pcVar31 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar31 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db334)" * (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" identifier = (binary_expression "extraout_v1_11 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar26 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar26 < 0x80;\n        }" { (expression_statement "bVar1 = iVar26 < 0x80;" (assignment_expression "bVar1 = iVar26 < 0x80" identifier = (binary_expression "iVar26 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = piVar14[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" { (expression_statement "(**(code **)(pcVar31 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar31 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db334)" * (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = piVar14[7];" (assignment_expression "iVar2 = piVar14[7]" identifier = (subscript_expression "piVar14[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar2 = iVar2 + 0x3f;\n          }" { (expression_statement "iVar2 = iVar2 + 0x3f;" (assignment_expression "iVar2 = iVar2 + 0x3f" identifier = (binary_expression "iVar2 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar2 = iVar2 >> 6;" (assignment_expression "iVar2 = iVar2 >> 6" identifier = (binary_expression "iVar2 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" if (parenthesized_expression "(extraout_v1_08 < iVar2)" ( (binary_expression "extraout_v1_08 < iVar2" identifier < identifier) )) (compound_statement "{\n            (**(code **)(pcVar31 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" { (expression_statement "(**(code **)(pcVar31 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar31 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db334)" * (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = extraout_v1_10;" (assignment_expression "iVar2 = extraout_v1_10" identifier = identifier) ;) })) })) }) (else_clause "else {\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" else (compound_statement "{\n        uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }\n        uVar42 = (*pcVar32)(7);\n        if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" { (expression_statement "uVar42 = (**(code **)(pcVar31 + 0x2db334))(7);" (assignment_expression "uVar42 = (**(code **)(pcVar31 + 0x2db334))(7)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db334)" * (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar42 >> 0x20) == 0) {\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n          if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }" { (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db334);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar42 < 2) {\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" if (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar42 = (*pcVar32)(7);\n            if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar32 = *(code **)(pcVar31 + 0x2db334);\n            if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" { (expression_statement "uVar42 = (*pcVar32)(7);" (assignment_expression "uVar42 = (*pcVar32)(7)" identifier = (call_expression "(*pcVar32)(7)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar42 >> 0x20) != 0) goto LAB_000ce288;" if (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ce288;" goto statement_identifier ;)) (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db334);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar42 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" if (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000ce2a0;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }" else (compound_statement "{\nLAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);\n        }" { (labeled_statement "LAB_000ce288:\n          pcVar32 = *(code **)(pcVar31 + 0x2db334);" statement_identifier : (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db334);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar42 = (*pcVar32)(7);" (assignment_expression "uVar42 = (*pcVar32)(7)" identifier = (call_expression "(*pcVar32)(7)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)) {\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2))" ( (binary_expression "((int)((ulonglong)uVar42 >> 0x20) == 0) && ((uint)uVar42 < 2)" (parenthesized_expression "((int)((ulonglong)uVar42 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar42 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar42 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar42 >> 0x20)" ( (binary_expression "(ulonglong)uVar42 >> 0x20" (cast_expression "(ulonglong)uVar42" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar42 < 2)" ( (binary_expression "(uint)uVar42 < 2" (cast_expression "(uint)uVar42" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar31 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }" { (expression_statement "(**(code **)(pcVar31 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar31 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db334)" * (pointer_expression "*(code **)(pcVar31 + 0x2db334)" * (cast_expression "(code **)(pcVar31 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db334)" ( (binary_expression "pcVar31 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = extraout_v1_09;" (assignment_expression "iVar2 = extraout_v1_09" identifier = identifier) ;) }) (else_clause "else {\n          iVar2 = 2;\n        }" else (compound_statement "{\n          iVar2 = 2;\n        }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000ce2a0:\n      MStack_314 = MagickTrue;" statement_identifier : (expression_statement "MStack_314 = MagickTrue;" (assignment_expression "MStack_314 = MagickTrue" identifier = identifier) ;)) (expression_statement "piStack_310 = &iStack_328;" (assignment_expression "piStack_310 = &iStack_328" identifier = (pointer_expression "&iStack_328" & identifier)) ;) (expression_statement "piStack_320 = piVar14;" (assignment_expression "piStack_320 = piVar14" identifier = identifier) ;) (expression_statement "iStack_31c = iVar20;" (assignment_expression "iStack_31c = iVar20" identifier = identifier) ;) (expression_statement "uStack_318 = uVar6;" (assignment_expression "uStack_318 = uVar6" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);" (call_expression "(**(code **)(pcVar31 + 0x2db390))(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db390))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db390)" * (pointer_expression "*(code **)(pcVar31 + 0x2db390)" * (cast_expression "(code **)(pcVar31 + 0x2db390)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db390)" ( (binary_expression "pcVar31 + 0x2db390" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" ( (binary_expression "*(int *)(pcVar31 + 0x2dac5c) + -0xc84" (pointer_expression "*(int *)(pcVar31 + 0x2dac5c)" * (cast_expression "(int *)(pcVar31 + 0x2dac5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2dac5c)" ( (binary_expression "pcVar31 + 0x2dac5c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&piStack_320" & identifier) , identifier , number_literal ))) ;) (expression_statement "MVar28 = MStack_314;" (assignment_expression "MVar28 = MStack_314" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar31 + 0x2db0ec))(uVar6);" (call_expression "(**(code **)(pcVar31 + 0x2db0ec))(uVar6)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db0ec))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db0ec)" * (pointer_expression "*(code **)(pcVar31 + 0x2db0ec)" * (cast_expression "(code **)(pcVar31 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db0ec)" ( (binary_expression "pcVar31 + 0x2db0ec" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) }) (else_clause "else {\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }" else (compound_statement "{\n      if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }\n      pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\nLAB_000ce0b0:\n      MVar28 = MagickTrue;\n      (*pcVar32)(uVar6);\n    }" { (if_statement "if (0 < piVar14[7]) {\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }" if (parenthesized_expression "(0 < piVar14[7])" ( (binary_expression "0 < piVar14[7]" number_literal < (subscript_expression "piVar14[7]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar8 = 0;\n        dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);\n        uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar31 + 0x2daae0);\n        iVar26 = piVar14[6];\n        dVar37 = dVar39;\n        while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }\n      }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8);" (assignment_expression "dVar39 = *(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar31 + 0x2daad8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2daad8) + 0x13f8)" ( (binary_expression "*(int *)(pcVar31 + 0x2daad8) + 0x13f8" (pointer_expression "*(int *)(pcVar31 + 0x2daad8)" * (cast_expression "(int *)(pcVar31 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daad8)" ( (binary_expression "pcVar31 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50);" (assignment_expression "uVar40 = (ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar31 + 0x2daad8) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x2daad8) + 0x1a50)" ( (binary_expression "*(int *)(pcVar31 + 0x2daad8) + 0x1a50" (pointer_expression "*(int *)(pcVar31 + 0x2daad8)" * (cast_expression "(int *)(pcVar31 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daad8)" ( (binary_expression "pcVar31 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar31 + 0x2daae0);" (assignment_expression "iVar2 = *(int *)(pcVar31 + 0x2daae0)" identifier = (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = piVar14[6];" (assignment_expression "iVar26 = piVar14[6]" identifier = (subscript_expression "piVar14[6]" identifier [ number_literal ])) ;) (expression_statement "dVar37 = dVar39;" (assignment_expression "dVar37 = dVar39" identifier = identifier) ;) (while_statement "while (pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0) {\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }" while (parenthesized_expression "(pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0)" ( (comma_expression "pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20),\n              pfVar10 != (float *)0x0" (assignment_expression "pfVar10 = (float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20)" identifier = (cast_expression "(float *)(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar31 + 0x2db844))(uVar6,0,iVar8,iVar26,1,iVar20)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db844))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db844)" * (pointer_expression "*(code **)(pcVar31 + 0x2db844)" * (cast_expression "(code **)(pcVar31 + 0x2db844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db844)" ( (binary_expression "pcVar31 + 0x2db844" identifier + number_literal) ))))) )) (argument_list "(uVar6,0,iVar8,iVar26,1,iVar20)" ( identifier , number_literal , identifier , identifier , number_literal , identifier ))))) , (binary_expression "pfVar10 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          iVar33 = piVar14[6];\n          iVar26 = 0;\n          if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }\nLAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);\n          if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }\n          iVar8 = iVar8 + 1;\n          if (piVar14[7] <= iVar8) break;\n          pcVar32 = *(code **)(pcVar31 + 0x2db0ec);\n          if (iVar26 == 0) goto LAB_000ce0b0;\n          iVar26 = piVar14[6];\n        }" { (expression_statement "iVar33 = piVar14[6];" (assignment_expression "iVar33 = piVar14[6]" identifier = (subscript_expression "piVar14[6]" identifier [ number_literal ])) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar33) {\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }" if (parenthesized_expression "(0 < iVar33)" ( (binary_expression "0 < iVar33" number_literal < identifier) )) (compound_statement "{\n            iVar24 = piVar14[0xb0];\n            piVar27 = (int *)piVar14[0xb4];\n            iVar22 = piVar27[2];\n            iVar21 = piVar27[5];\n            iVar23 = piVar27[8];\n            do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);\n          }" { (expression_statement "iVar24 = piVar14[0xb0];" (assignment_expression "iVar24 = piVar14[0xb0]" identifier = (subscript_expression "piVar14[0xb0]" identifier [ number_literal ])) ;) (expression_statement "piVar27 = (int *)piVar14[0xb4];" (assignment_expression "piVar27 = (int *)piVar14[0xb4]" identifier = (cast_expression "(int *)piVar14[0xb4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[0xb4]" identifier [ number_literal ]))) ;) (expression_statement "iVar22 = piVar27[2];" (assignment_expression "iVar22 = piVar27[2]" identifier = (subscript_expression "piVar27[2]" identifier [ number_literal ])) ;) (expression_statement "iVar21 = piVar27[5];" (assignment_expression "iVar21 = piVar27[5]" identifier = (subscript_expression "piVar27[5]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = piVar27[8];" (assignment_expression "iVar23 = piVar27[8]" identifier = (subscript_expression "piVar27[8]" identifier [ number_literal ])) ;) (do_statement "do {\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            } while (iVar26 != iVar33);" do (compound_statement "{\n              while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }\n              dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];\n              uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n              if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }\n              if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);\n              iVar26 = iVar26 + 1;\n              pfVar10 = pfVar10 + iVar24;\n            }" { (while_statement "while( true ) {\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];\n                uVar11 = (uint)((ulonglong)dVar38 >> 0x20);\n                if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;\nLAB_000cdf68:\n                iVar26 = iVar26 + 1;\n                pfVar10 = pfVar10 + iVar24;\n                if (iVar26 == iVar33) goto LAB_000ce048;\n              }" { (expression_statement "dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21];" (assignment_expression "dVar38 = (double)pfVar10[iVar22] - (double)pfVar10[iVar21]" identifier = (binary_expression "(double)pfVar10[iVar22] - (double)pfVar10[iVar21]" (cast_expression "(double)pfVar10[iVar22]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar10[iVar22]" identifier [ identifier ])) - (cast_expression "(double)pfVar10[iVar21]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar10[iVar21]" identifier [ identifier ])))) ;) (expression_statement "uVar11 = (uint)((ulonglong)dVar38 >> 0x20);" (assignment_expression "uVar11 = (uint)((ulonglong)dVar38 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar38 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar38 >> 0x20)" ( (binary_expression "(ulonglong)dVar38 >> 0x20" (cast_expression "(ulonglong)dVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (dVar38 < 0.0) {\n                  uVar11 = uVar11 ^ 0x80000000;\n                }" if (parenthesized_expression "(dVar38 < 0.0)" ( (binary_expression "dVar38 < 0.0" identifier < number_literal) )) (compound_statement "{\n                  uVar11 = uVar11 ^ 0x80000000;\n                }" { (expression_statement "uVar11 = uVar11 ^ 0x80000000;" (assignment_expression "uVar11 = uVar11 ^ 0x80000000" identifier = (binary_expression "uVar11 ^ 0x80000000" identifier ^ number_literal)) ;) })) (if_statement "if ((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37) break;" if (parenthesized_expression "((double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37)" ( (binary_expression "(double)CONCAT44(uVar11,SUB84(dVar38,0)) < dVar37" (cast_expression "(double)CONCAT44(uVar11,SUB84(dVar38,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar11,SUB84(dVar38,0))" identifier (argument_list "(uVar11,SUB84(dVar38,0))" ( identifier , (call_expression "SUB84(dVar38,0)" identifier (argument_list "(dVar38,0)" ( identifier , number_literal ))) )))) < identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000cdf68:\n                iVar26 = iVar26 + 1;" statement_identifier : (expression_statement "iVar26 = iVar26 + 1;" (assignment_expression "iVar26 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar10 = pfVar10 + iVar24;" (assignment_expression "pfVar10 = pfVar10 + iVar24" identifier = (binary_expression "pfVar10 + iVar24" identifier + identifier)) ;) (if_statement "if (iVar26 == iVar33) goto LAB_000ce048;" if (parenthesized_expression "(iVar26 == iVar33)" ( (binary_expression "iVar26 == iVar33" identifier == identifier) )) (goto_statement "goto LAB_000ce048;" goto statement_identifier ;)) })) (expression_statement "dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23];" (assignment_expression "dVar38 = (double)pfVar10[iVar21] - (double)pfVar10[iVar23]" identifier = (binary_expression "(double)pfVar10[iVar21] - (double)pfVar10[iVar23]" (cast_expression "(double)pfVar10[iVar21]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar10[iVar21]" identifier [ identifier ])) - (cast_expression "(double)pfVar10[iVar23]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar10[iVar23]" identifier [ identifier ])))) ;) (expression_statement "uVar11 = (uint)((ulonglong)dVar38 >> 0x20);" (assignment_expression "uVar11 = (uint)((ulonglong)dVar38 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar38 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar38 >> 0x20)" ( (binary_expression "(ulonglong)dVar38 >> 0x20" (cast_expression "(ulonglong)dVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (dVar38 < 0.0) {\n                uVar11 = uVar11 ^ 0x80000000;\n              }" if (parenthesized_expression "(dVar38 < 0.0)" ( (binary_expression "dVar38 < 0.0" identifier < number_literal) )) (compound_statement "{\n                uVar11 = uVar11 ^ 0x80000000;\n              }" { (expression_statement "uVar11 = uVar11 ^ 0x80000000;" (assignment_expression "uVar11 = uVar11 ^ 0x80000000" identifier = (binary_expression "uVar11 ^ 0x80000000" identifier ^ number_literal)) ;) })) (if_statement "if ((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)) goto LAB_000cdf68;" if (parenthesized_expression "((dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1))" ( (binary_expression "(dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))) ||\n                 (piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)" (parenthesized_expression "(dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0)))" ( (binary_expression "dVar39 <= (double)CONCAT44(uVar11,SUB84(dVar38,0))" identifier <= (cast_expression "(double)CONCAT44(uVar11,SUB84(dVar38,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar11,SUB84(dVar38,0))" identifier (argument_list "(uVar11,SUB84(dVar38,0))" ( identifier , (call_expression "SUB84(dVar38,0)" identifier (argument_list "(dVar38,0)" ( identifier , number_literal ))) ))))) )) || (parenthesized_expression "(piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1)" ( (comma_expression "piVar15 = piVar27, pfVar18 = pfVar10, iVar24 < 1" (assignment_expression "piVar15 = piVar27" identifier = identifier) , (comma_expression "pfVar18 = pfVar10, iVar24 < 1" (assignment_expression "pfVar18 = pfVar10" identifier = identifier) , (binary_expression "iVar24 < 1" identifier < number_literal))) ))) )) (goto_statement "goto LAB_000cdf68;" goto statement_identifier ;)) (do_statement "do {\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              } while (piVar15 != piVar27 + iVar24 * 3);" do (compound_statement "{\n                if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }\n                piVar15 = piVar15 + 3;\n                pfVar18 = pfVar18 + 1;\n              }" { (if_statement "if ((piVar27[*piVar15 * 3 + 1] & 2U) != 0) {\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }" if (parenthesized_expression "((piVar27[*piVar15 * 3 + 1] & 2U) != 0)" ( (binary_expression "(piVar27[*piVar15 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar27[*piVar15 * 3 + 1] & 2U)" ( (binary_expression "piVar27[*piVar15 * 3 + 1] & 2U" (subscript_expression "piVar27[*piVar15 * 3 + 1]" identifier [ (binary_expression "*piVar15 * 3 + 1" (binary_expression "*piVar15 * 3" (pointer_expression "*piVar15" * identifier) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *pfVar18 = (float)uVar40 - *pfVar18;\n                }" { (expression_statement "*pfVar18 = (float)uVar40 - *pfVar18;" (assignment_expression "*pfVar18 = (float)uVar40 - *pfVar18" (pointer_expression "*pfVar18" * identifier) = (binary_expression "(float)uVar40 - *pfVar18" (cast_expression "(float)uVar40" ( (type_descriptor "float" primitive_type) ) identifier) - (pointer_expression "*pfVar18" * identifier))) ;) })) (expression_statement "piVar15 = piVar15 + 3;" (assignment_expression "piVar15 = piVar15 + 3" identifier = (binary_expression "piVar15 + 3" identifier + number_literal)) ;) (expression_statement "pfVar18 = pfVar18 + 1;" (assignment_expression "pfVar18 = pfVar18 + 1" identifier = (binary_expression "pfVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar15 != piVar27 + iVar24 * 3)" ( (binary_expression "piVar15 != piVar27 + iVar24 * 3" identifier != (binary_expression "piVar27 + iVar24 * 3" identifier + (binary_expression "iVar24 * 3" identifier * number_literal))) )) ;) (expression_statement "iVar26 = iVar26 + 1;" (assignment_expression "iVar26 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (expression_statement "pfVar10 = pfVar10 + iVar24;" (assignment_expression "pfVar10 = pfVar10 + iVar24" identifier = (binary_expression "pfVar10 + iVar24" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar26 != iVar33)" ( (binary_expression "iVar26 != iVar33" identifier != identifier) )) ;) })) (labeled_statement "LAB_000ce048:\n          iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);" statement_identifier : (expression_statement "iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20);" (assignment_expression "iVar26 = (**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20)" identifier = (call_expression "(**(code **)(pcVar31 + 0x2db6f0))(uVar6,iVar20)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db6f0))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db6f0)" * (pointer_expression "*(code **)(pcVar31 + 0x2db6f0)" * (cast_expression "(code **)(pcVar31 + 0x2db6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db6f0)" ( (binary_expression "pcVar31 + 0x2db6f0" identifier + number_literal) ))))) )) (argument_list "(uVar6,iVar20)" ( identifier , identifier )))) ;)) (if_statement "if (piVar14[0xca] != 0) {\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }" if (parenthesized_expression "(piVar14[0xca] != 0)" ( (binary_expression "piVar14[0xca] != 0" (subscript_expression "piVar14[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar11 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;\n            uStack_324 = uVar11;\n            iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);\n            if (iVar33 == 0) break;\n          }" { (expression_statement "uVar11 = uStack_324 + 1;" (assignment_expression "uVar11 = uStack_324 + 1" identifier = (binary_expression "uStack_324 + 1" identifier + number_literal)) ;) (expression_statement "iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328;" (assignment_expression "iStack_328 = (uint)(uVar11 < uStack_324) + iStack_328" identifier = (binary_expression "(uint)(uVar11 < uStack_324) + iStack_328" (call_expression "(uint)(uVar11 < uStack_324)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uStack_324)" ( (binary_expression "uVar11 < uStack_324" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_324 = uVar11;" (assignment_expression "uStack_324 = uVar11" identifier = identifier) ;) (expression_statement "iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7]);" (assignment_expression "iVar33 = (**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7])" identifier = (call_expression "(**(code **)(pcVar31 + 0x2daeac))\n                               (piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7])" (parenthesized_expression "(**(code **)(pcVar31 + 0x2daeac))" ( (pointer_expression "**(code **)(pcVar31 + 0x2daeac)" * (pointer_expression "*(code **)(pcVar31 + 0x2daeac)" * (cast_expression "(code **)(pcVar31 + 0x2daeac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2daeac)" ( (binary_expression "pcVar31 + 0x2daeac" identifier + number_literal) ))))) )) (argument_list "(piVar14,iVar2 + 0x4f90,iStack_328,uVar11,0,piVar14[7])" ( identifier , (binary_expression "iVar2 + 0x4f90" identifier + number_literal) , identifier , identifier , number_literal , (subscript_expression "piVar14[7]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar33 == 0) break;" if (parenthesized_expression "(iVar33 == 0)" ( (binary_expression "iVar33 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (piVar14[7] <= iVar8) break;" if (parenthesized_expression "(piVar14[7] <= iVar8)" ( (binary_expression "piVar14[7] <= iVar8" (subscript_expression "piVar14[7]" identifier [ number_literal ]) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db0ec);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db0ec)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db0ec)" * (cast_expression "(code **)(pcVar31 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db0ec)" ( (binary_expression "pcVar31 + 0x2db0ec" identifier + number_literal) ))))) ;) (if_statement "if (iVar26 == 0) goto LAB_000ce0b0;" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ce0b0;" goto statement_identifier ;)) (expression_statement "iVar26 = piVar14[6];" (assignment_expression "iVar26 = piVar14[6]" identifier = (subscript_expression "piVar14[6]" identifier [ number_literal ])) ;) })) })) (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db0ec);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db0ec)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db0ec)" * (cast_expression "(code **)(pcVar31 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db0ec)" ( (binary_expression "pcVar31 + 0x2db0ec" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ce0b0:\n      MVar28 = MagickTrue;" statement_identifier : (expression_statement "MVar28 = MagickTrue;" (assignment_expression "MVar28 = MagickTrue" identifier = identifier) ;)) (expression_statement "(*pcVar32)(uVar6);" (call_expression "(*pcVar32)(uVar6)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(uVar6)" ( identifier ))) ;) }))) (if_statement "if (iStack_30c == *piVar29) {\n      return MVar28;\n    }" if (parenthesized_expression "(iStack_30c == *piVar29)" ( (binary_expression "iStack_30c == *piVar29" identifier == (pointer_expression "*piVar29" * identifier)) )) (compound_statement "{\n      return MVar28;\n    }" { (return_statement "return MVar28;" return identifier ;) })) (expression_statement "(**(code **)(pcVar31 + 0x2db25c))();" (call_expression "(**(code **)(pcVar31 + 0x2db25c))()" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db25c))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db25c)" * (pointer_expression "*(code **)(pcVar31 + 0x2db25c)" * (cast_expression "(code **)(pcVar31 + 0x2db25c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db25c)" ( (binary_expression "pcVar31 + 0x2db25c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar31 + 0x2db800))\n            (*(int *)(pcVar31 + 0x2daae0) + -0x3784,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);" (call_expression "(**(code **)(pcVar31 + 0x2db800))\n            (*(int *)(pcVar31 + 0x2daae0) + -0x3784,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar31 + 0x2db800))" ( (pointer_expression "**(code **)(pcVar31 + 0x2db800)" * (pointer_expression "*(code **)(pcVar31 + 0x2db800)" * (cast_expression "(code **)(pcVar31 + 0x2db800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db800)" ( (binary_expression "pcVar31 + 0x2db800" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0x2daae0) + -0x3784,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4)" ( (binary_expression "*(int *)(pcVar31 + 0x2daae0) + -0x3784" (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000ce444:\n  pcVar32 = *(code **)(pcVar31 + 0x2db800);" statement_identifier : (expression_statement "pcVar32 = *(code **)(pcVar31 + 0x2db800);" (assignment_expression "pcVar32 = *(code **)(pcVar31 + 0x2db800)" identifier = (pointer_expression "*(code **)(pcVar31 + 0x2db800)" * (cast_expression "(code **)(pcVar31 + 0x2db800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x2db800)" ( (binary_expression "pcVar31 + 0x2db800" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar32)(*(int *)(pcVar31 + 0x2daad8) + 0xdd0,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4);" (call_expression "(*pcVar32)(*(int *)(pcVar31 + 0x2daad8) + 0xdd0,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(*(int *)(pcVar31 + 0x2daad8) + 0xdd0,*(int *)(pcVar31 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar31 + 0x2daae0) + 0x53f4)" ( (binary_expression "*(int *)(pcVar31 + 0x2daad8) + 0xdd0" (pointer_expression "*(int *)(pcVar31 + 0x2daad8)" * (cast_expression "(int *)(pcVar31 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daad8)" ( (binary_expression "pcVar31 + 0x2daad8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar31 + 0x2daae0)" * (cast_expression "(int *)(pcVar31 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x2daae0)" ( (binary_expression "pcVar31 + 0x2daae0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "MVar28 = (**(code **)(pcVar32 + 0x2dad50))();" (assignment_expression "MVar28 = (**(code **)(pcVar32 + 0x2dad50))()" identifier = (call_expression "(**(code **)(pcVar32 + 0x2dad50))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x2dad50))" ( (pointer_expression "**(code **)(pcVar32 + 0x2dad50)" * (pointer_expression "*(code **)(pcVar32 + 0x2dad50)" * (cast_expression "(code **)(pcVar32 + 0x2dad50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x2dad50)" ( (binary_expression "pcVar32 + 0x2dad50" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return MVar28;" return identifier ;) })))
(translation_unit "undefined *\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}\n\n" (function_definition "undefined *\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}" type_identifier (pointer_declarator "*\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" * (function_declarator "LevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" identifier (parameter_list "(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "double param_5" primitive_type identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "double *pdVar4;" primitive_type (pointer_declarator "*pdVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "double *pdVar6;" primitive_type (pointer_declarator "*pdVar6" * identifier) ;) (declaration "float *pfVar7;" primitive_type (pointer_declarator "*pfVar7" * identifier) ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int extraout_v1_00;" primitive_type identifier ;) (declaration "int extraout_v1_01;" primitive_type identifier ;) (declaration "int extraout_v1_02;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int extraout_v1_03;" primitive_type identifier ;) (declaration "int extraout_v1_04;" primitive_type identifier ;) (declaration "int extraout_v1_05;" primitive_type identifier ;) (declaration "int extraout_v1_06;" primitive_type identifier ;) (declaration "int extraout_v1_07;" primitive_type identifier ;) (declaration "int extraout_v1_08;" primitive_type identifier ;) (declaration "int extraout_v1_09;" primitive_type identifier ;) (declaration "int extraout_v1_10;" primitive_type identifier ;) (declaration "int extraout_v1_11;" primitive_type identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "float *pfVar13;" primitive_type (pointer_declarator "*pfVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int *unaff_s7;" primitive_type (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "double dVar28;" primitive_type identifier ;) (declaration "double dVar29;" primitive_type identifier ;) (declaration "float fVar30;" primitive_type identifier ;) (declaration "double dVar31;" primitive_type identifier ;) (declaration "double dVar32;" primitive_type identifier ;) (declaration "double dVar33;" primitive_type identifier ;) (declaration "ulonglong uVar34;" type_identifier identifier ;) (declaration "double dVar35;" primitive_type identifier ;) (declaration "undefined8 uVar36;" type_identifier identifier ;) (declaration "int iStack_328;" primitive_type identifier ;) (declaration "uint uStack_324;" type_identifier identifier ;) (declaration "int *piStack_320;" primitive_type (pointer_declarator "*piStack_320" * identifier) ;) (declaration "int iStack_31c;" primitive_type identifier ;) (declaration "undefined4 uStack_318;" type_identifier identifier ;) (declaration "undefined *puStack_314;" type_identifier (pointer_declarator "*puStack_314" * identifier) ;) (declaration "int *piStack_310;" primitive_type (pointer_declarator "*piStack_310" * identifier) ;) (declaration "int iStack_30c;" primitive_type identifier ;) (declaration "undefined *puStack_308;" type_identifier (pointer_declarator "*puStack_308" * identifier) ;) (declaration "int *piStack_304;" primitive_type (pointer_declarator "*piStack_304" * identifier) ;) (declaration "double *pdStack_300;" primitive_type (pointer_declarator "*pdStack_300" * identifier) ;) (declaration "int iStack_2fc;" primitive_type identifier ;) (declaration "double *pdStack_2f8;" primitive_type (pointer_declarator "*pdStack_2f8" * identifier) ;) (declaration "int *piStack_2f4;" primitive_type (pointer_declarator "*piStack_2f4" * identifier) ;) (declaration "int iStack_2f0;" primitive_type identifier ;) (declaration "int *piStack_2ec;" primitive_type (pointer_declarator "*piStack_2ec" * identifier) ;) (declaration "int iStack_2e8;" primitive_type identifier ;) (declaration "code *pcStack_2e4;" type_identifier (pointer_declarator "*pcStack_2e4" * identifier) ;) (declaration "double dStack_2e0;" primitive_type identifier ;) (declaration "double dStack_2d8;" primitive_type identifier ;) (declaration "double dStack_2d0;" primitive_type identifier ;) (declaration "undefined8 uStack_2b8;" type_identifier identifier ;) (declaration "double *pdStack_2b0;" primitive_type (pointer_declarator "*pdStack_2b0" * identifier) ;) (declaration "double *pdStack_2ac;" primitive_type (pointer_declarator "*pdStack_2ac" * identifier) ;) (declaration "double *pdStack_2a8;" primitive_type (pointer_declarator "*pdStack_2a8" * identifier) ;) (declaration "code *pcStack_2a0;" type_identifier (pointer_declarator "*pcStack_2a0" * identifier) ;) (declaration "int iStack_298;" primitive_type identifier ;) (declaration "uint uStack_294;" type_identifier identifier ;) (declaration "undefined8 *puStack_290;" type_identifier (pointer_declarator "*puStack_290" * identifier) ;) (declaration "undefined8 *puStack_28c;" type_identifier (pointer_declarator "*puStack_28c" * identifier) ;) (declaration "undefined8 *puStack_288;" type_identifier (pointer_declarator "*puStack_288" * identifier) ;) (declaration "double *pdStack_284;" primitive_type (pointer_declarator "*pdStack_284" * identifier) ;) (declaration "int iStack_280;" primitive_type identifier ;) (declaration "int iStack_27c;" primitive_type identifier ;) (declaration "double dStack_278;" primitive_type identifier ;) (declaration "double dStack_270;" primitive_type identifier ;) (declaration "undefined8 uStack_268;" type_identifier identifier ;) (declaration "undefined8 uStack_260;" type_identifier identifier ;) (declaration "undefined8 uStack_258;" type_identifier identifier ;) (declaration "double dStack_250;" primitive_type identifier ;) (declaration "double dStack_248;" primitive_type identifier ;) (declaration "double dStack_240;" primitive_type identifier ;) (declaration "double dStack_238;" primitive_type identifier ;) (declaration "double dStack_230;" primitive_type identifier ;) (declaration "double dStack_218;" primitive_type identifier ;) (declaration "double dStack_210;" primitive_type identifier ;) (declaration "double dStack_208;" primitive_type identifier ;) (declaration "int *piStack_200;" primitive_type (pointer_declarator "*piStack_200" * identifier) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "undefined4 uStack_1f8;" type_identifier identifier ;) (declaration "int iStack_1f4;" primitive_type identifier ;) (declaration "undefined *puStack_1f0;" type_identifier (pointer_declarator "*puStack_1f0" * identifier) ;) (declaration "double *pdStack_1ec;" primitive_type (pointer_declarator "*pdStack_1ec" * identifier) ;) (declaration "int *piStack_1e4;" primitive_type (pointer_declarator "*piStack_1e4" * identifier) ;) (declaration "undefined *puStack_1e0;" type_identifier (pointer_declarator "*puStack_1e0" * identifier) ;) (declaration "undefined *puStack_1dc;" type_identifier (pointer_declarator "*puStack_1dc" * identifier) ;) (declaration "double *pdStack_1d8;" primitive_type (pointer_declarator "*pdStack_1d8" * identifier) ;) (declaration "int iStack_1d4;" primitive_type identifier ;) (declaration "double *pdStack_1d0;" primitive_type (pointer_declarator "*pdStack_1d0" * identifier) ;) (declaration "double dStack_f0;" primitive_type identifier ;) (declaration "double *pdStack_e8;" primitive_type (pointer_declarator "*pdStack_e8" * identifier) ;) (declaration "double *local_a0;" primitive_type (pointer_declarator "*local_a0" * identifier) ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "double local_88;" primitive_type identifier ;) (declaration "double local_80;" primitive_type identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "int *local_70;" primitive_type (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "undefined *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (expression_statement "puVar22 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar22 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "dVar31 = (double)CONCAT44(param_3,param_4);" (assignment_expression "dVar31 = (double)CONCAT44(param_3,param_4)" identifier = (cast_expression "(double)CONCAT44(param_3,param_4)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier ))))) ;) (expression_statement "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(undefined **)PTR___stack_chk_guard_003a9230" * (cast_expression "(undefined **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier + number_literal) ))) ;) (labeled_statement "LAB_000cc830:\n    iVar2 = 0xc0b;" statement_identifier : (expression_statement "iVar2 = 0xc0b;" (assignment_expression "iVar2 = 0xc0b" identifier = number_literal) ;)) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" identifier + number_literal)) ;) (expression_statement "pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);" (assignment_expression "pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" identifier = (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) )))) ;) (expression_statement "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;" (assignment_expression "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" else (compound_statement "{\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" { (if_statement "if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;" if (parenthesized_expression "(param_1[0xcdb] != -0x54535255)" ( (binary_expression "param_1[0xcdb] != -0x54535255" (subscript_expression "param_1[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_000cc830;" goto statement_identifier ;)) (if_statement "if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" if (parenthesized_expression "(param_1[0xcd4] != 0)" ( (binary_expression "param_1[0xcd4] != 0" (subscript_expression "param_1[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" { (expression_statement "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" identifier = (cast_expression "(double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" ( number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }" if (parenthesized_expression "((*param_1 == 2) && (0 < param_1[9]))" ( (binary_expression "(*param_1 == 2) && (0 < param_1[9])" (parenthesized_expression "(*param_1 == 2)" ( (binary_expression "*param_1 == 2" (pointer_expression "*param_1" * identifier) == number_literal) )) && (parenthesized_expression "(0 < param_1[9])" ( (binary_expression "0 < param_1[9]" number_literal < (subscript_expression "param_1[9]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = SUB84(dVar29,0);" (assignment_expression "unaff_s7 = SUB84(dVar29,0)" identifier = (call_expression "SUB84(dVar29,0)" identifier (argument_list "(dVar29,0)" ( identifier , number_literal )))) ;) (expression_statement "unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);" (assignment_expression "unaff_s6 = (int)((ulonglong)dVar29 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)dVar29 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar29 >> 0x20)" ( (binary_expression "(ulonglong)dVar29 >> 0x20" (cast_expression "(ulonglong)dVar29" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "dVar33 = dVar29;" (assignment_expression "dVar33 = dVar29" identifier = identifier) ;) (expression_statement "dVar32 = dVar29;" (assignment_expression "dVar32 = dVar29" identifier = identifier) ;) (expression_statement "dVar35 = dVar29;" (assignment_expression "dVar35 = dVar29" identifier = identifier) ;) (do_statement "do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);" do (compound_statement "{\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      }" { (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 4) & 2)" ( (binary_expression "*(uint *)(iVar20 + 4) & 2" (pointer_expression "*(uint *)(iVar20 + 4)" * (cast_expression "(uint *)(iVar20 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar5 + 0x28) * dVar33;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x28) * dVar33" identifier = (binary_expression "*(double *)(iVar5 + 0x28) * dVar33" (pointer_expression "*(double *)(iVar5 + 0x28)" * (cast_expression "(double *)(iVar5 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x28)" * (cast_expression "(double *)(iVar5 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar20 + 0x10) & 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" * (cast_expression "(uint *)(iVar20 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar5 + 0x30) * dVar32;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x30) * dVar32" identifier = (binary_expression "*(double *)(iVar5 + 0x30) * dVar32" (pointer_expression "*(double *)(iVar5 + 0x30)" * (cast_expression "(double *)(iVar5 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x30)" * (cast_expression "(double *)(iVar5 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar20 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar20 + 0x1c)" * (cast_expression "(uint *)(iVar20 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x1c)" ( (binary_expression "iVar20 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar5 + 0x38) * dVar35;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x38) * dVar35" identifier = (binary_expression "*(double *)(iVar5 + 0x38) * dVar35" (pointer_expression "*(double *)(iVar5 + 0x38)" * (cast_expression "(double *)(iVar5 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" identifier = (subscript_expression "param_1[0xb4]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x38)" * (cast_expression "(double *)(iVar5 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (if_statement "if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" if (parenthesized_expression "((*(uint *)(iVar20 + 0x34) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar20 + 0x34) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar20 + 0x34) & 2" (pointer_expression "*(uint *)(iVar20 + 0x34)" * (cast_expression "(uint *)(iVar20 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x34)" ( (binary_expression "iVar20 + 0x34" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" { (expression_statement "iVar20 = param_1[10] + iVar2;" (assignment_expression "iVar20 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "dVar28 = *(double *)(iVar20 + 0x48) * dVar29;" (assignment_expression "dVar28 = *(double *)(iVar20 + 0x48) * dVar29" identifier = (binary_expression "*(double *)(iVar20 + 0x48) * dVar29" (pointer_expression "*(double *)(iVar20 + 0x48)" * (cast_expression "(double *)(iVar20 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) * identifier)) ;) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }" if (parenthesized_expression "(0.0 <= dVar28)" ( (binary_expression "0.0 <= dVar28" number_literal <= identifier) )) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }" { (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" identifier = (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" ( (pointer_expression "*(code *)PTR_pow_003a971c" * (cast_expression "(code *)PTR_pow_003a971c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dVar28,param_6)" ( identifier , identifier ))))) ;) (expression_statement "iVar20 = param_1[10] + iVar2;" (assignment_expression "iVar20 = param_1[10] + iVar2" identifier = (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) })) (expression_statement "*(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar20 + 0x48)" * (cast_expression "(double *)(iVar20 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" ( (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" ( (binary_expression "param_5 - dVar31" identifier - identifier) )) * identifier) + identifier) ))))) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = iVar2 + 0x58;" (assignment_expression "iVar2 = iVar2 + 0x58" identifier = (binary_expression "iVar2 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 < param_1[9])" ( (binary_expression "iVar15 < param_1[9]" identifier < (subscript_expression "param_1[9]" identifier [ number_literal ])) )) ;) })) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);" (assignment_expression "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7)" identifier = (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" ( (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" * (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_7)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" if (parenthesized_expression "(((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" ( (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" identifier = (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" ( (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" * (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar15 = param_1[7];" (assignment_expression "iVar15 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = iVar15;" (assignment_expression "iVar2 = iVar15" identifier = identifier) ;) (if_statement "if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar2 = iVar15 + 0x3f;\n      }" { (expression_statement "iVar2 = iVar15 + 0x3f;" (assignment_expression "iVar2 = iVar15 + 0x3f" identifier = (binary_expression "iVar15 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1 < iVar2 >> 6)" ( (binary_expression "extraout_v1 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" identifier = (binary_expression "extraout_v1_02 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar15 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar15 < 0x80;\n      }" { (expression_statement "bVar1 = iVar15 < 0x80;" (assignment_expression "bVar1 = iVar15 < 0x80" identifier = (binary_expression "iVar15 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" { (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = param_1[7];" (assignment_expression "iVar2 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar2 = iVar2 + 0x3f;\n        }" { (expression_statement "iVar2 = iVar2 + 0x3f;" (assignment_expression "iVar2 = iVar2 + 0x3f" identifier = (binary_expression "iVar2 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar2 = iVar2 >> 6;" (assignment_expression "iVar2 = iVar2 >> 6" identifier = (binary_expression "iVar2 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;" if (parenthesized_expression "(extraout_v1_01 < iVar2)" ( (binary_expression "extraout_v1_01 < iVar2" identifier < identifier) )) (goto_statement "goto LAB_000cc7ac;" goto statement_identifier ;)) })) }) (else_clause "else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" else (compound_statement "{\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" { (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" { (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000cc440;" goto statement_identifier ;) })) })) (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" identifier = (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }" { (labeled_statement "LAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" statement_identifier : (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" ( (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" * (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar2 = extraout_v1_00;" (assignment_expression "iVar2 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n        iVar2 = 2;\n      }" else (compound_statement "{\n        iVar2 = 2;\n      }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000cc440:\n    puVar14 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_64 = (undefined *)0x1;" (assignment_expression "local_64 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = &local_90;" (assignment_expression "local_60 = &local_90" identifier = (pointer_expression "&local_90" & identifier)) ;) (expression_statement "pdVar4 = &local_88;" (assignment_expression "pdVar4 = &local_88" identifier = (pointer_expression "&local_88" & identifier)) ;) (expression_statement "local_6c = param_7;" (assignment_expression "local_6c = param_7" identifier = identifier) ;) (expression_statement "local_88 = dVar31;" (assignment_expression "local_88 = dVar31" identifier = identifier) ;) (expression_statement "local_80 = param_5;" (assignment_expression "local_80 = param_5" identifier = identifier) ;) (expression_statement "local_78 = param_6;" (assignment_expression "local_78 = param_6" identifier = identifier) ;) (expression_statement "local_70 = param_1;" (assignment_expression "local_70 = param_1" identifier = identifier) ;) (expression_statement "local_68 = unaff_s3;" (assignment_expression "local_68 = unaff_s3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" ( (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" * (cast_expression "(code *)PTR_GOMP_parallel_003a9198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a8a64 + 0x305c)" ( (binary_expression "PTR_LAB_003a8a64 + 0x305c" identifier + number_literal) ))) ;) (expression_statement "param_7 = local_64;" (assignment_expression "param_7 = local_64" identifier = identifier) ;) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" ( (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" * (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "puVar9 = local_54;" (assignment_expression "puVar9 = local_54" identifier = identifier) ;) (if_statement "if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }" if (parenthesized_expression "(local_54 == *(undefined **)puVar22)" ( (binary_expression "local_54 == *(undefined **)puVar22" identifier == (pointer_expression "*(undefined **)puVar22" * (cast_expression "(undefined **)puVar22" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return param_7;\n    }" { (return_statement "return param_7;" return identifier ;) })) }))) (expression_statement "puVar24 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar24 = 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 "()" ( ))) ;) (if_statement "if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }" if (parenthesized_expression "(puVar9 != (undefined *)0x0)" ( (binary_expression "puVar9 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }" { (if_statement "if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }" if (parenthesized_expression "(*(int *)(puVar9 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar9 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar9 + 0x336c)" * (cast_expression "(int *)(puVar9 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x336c)" ( (binary_expression "puVar9 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }" { (if_statement "if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }" if (parenthesized_expression "(*(int *)(puVar9 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar9 + 0x3350) != 0" (pointer_expression "*(int *)(puVar9 + 0x3350)" * (cast_expression "(int *)(puVar9 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x3350)" ( (binary_expression "puVar9 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }" { (expression_statement "(**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);" (call_expression "(**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc980))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc980)" * (pointer_expression "*(code **)(puVar24 + 0x2dc980)" * (cast_expression "(code **)(puVar24 + 0x2dc980)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc980)" ( (binary_expression "puVar24 + 0x2dc980" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95)" ( number_literal , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5448" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" if (parenthesized_expression "((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3))" ( (binary_expression "(*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)" (parenthesized_expression "(*(int *)(puVar9 + 4) == 0x21)" ( (binary_expression "*(int *)(puVar9 + 4) == 0x21" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(puVar9 + 4) == 3)" ( (binary_expression "*(int *)(puVar9 + 4) == 3" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" { (if_statement "if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" if (parenthesized_expression "((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3))" ( (binary_expression "(*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)" (parenthesized_expression "(*(int *)((int)pdVar4 + 4) == 0x21)" ( (binary_expression "*(int *)((int)pdVar4 + 4) == 0x21" (pointer_expression "*(int *)((int)pdVar4 + 4)" * (cast_expression "(int *)((int)pdVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 4)" ( (binary_expression "(int)pdVar4 + 4" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)" ( (comma_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dc4e0)" * (cast_expression "(code **)(puVar24 + 0x2dc4e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc4e0)" ( (binary_expression "puVar24 + 0x2dc4e0" identifier + number_literal) ))))) , (binary_expression "*(int *)((int)pdVar4 + 4) == 3" (pointer_expression "*(int *)((int)pdVar4 + 4)" * (cast_expression "(int *)((int)pdVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 4)" ( (binary_expression "(int)pdVar4 + 4" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" { (if_statement "if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;" if (parenthesized_expression "(*(int *)(iVar2 + 4) == 0x21)" ( (binary_expression "*(int *)(iVar2 + 4) == 0x21" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000cc8d8;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dc4e0);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dc4e0)" * (cast_expression "(code **)(puVar24 + 0x2dc4e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc4e0)" ( (binary_expression "puVar24 + 0x2dc4e0" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;" if (parenthesized_expression "(*(int *)(iVar2 + 4) != 3)" ( (binary_expression "*(int *)(iVar2 + 4) != 3" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_000cc988;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cc8dc;" goto statement_identifier ;) })) (labeled_statement "LAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);" statement_identifier : (expression_statement "(*pcVar25)(puVar9,0x17,local_a0);" (call_expression "(*pcVar25)(puVar9,0x17,local_a0)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,0x17,local_a0)" ( identifier , number_literal , identifier ))) ;)) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar8 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" else (compound_statement "{\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" { (labeled_statement "LAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);" statement_identifier : (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);" statement_identifier : (expression_statement "uVar8 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar8 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;)) }))) (if_statement "if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }" if (parenthesized_expression "(puVar14 != (undefined *)0x0)" ( (binary_expression "puVar14 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }" { (if_statement "if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((uVar8 & 2) == 0)" ( (binary_expression "(uVar8 & 2) == 0" (parenthesized_expression "(uVar8 & 2)" ( (binary_expression "uVar8 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          puVar22 = (undefined *)0x1;\n        }" { (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" else (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,1)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)(uVar8 & 1);" (assignment_expression "puVar22 = (undefined *)(uVar8 & 1)" identifier = (cast_expression "(undefined *)(uVar8 & 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) }))) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,2)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,4)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2))" ( (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(puVar9 + 4) == 2)" ( (binary_expression "*(int *)(puVar9 + 4) == 2" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,8)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" ( (pointer_expression "**(code **)(puVar24 + 0x2dc848)" * (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" * (cast_expression "(uint *)(iVar2 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          return puVar22;\n        }" { (return_statement "return puVar22;" return identifier ;) })) (if_statement "if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }" if (parenthesized_expression "(*(int *)(puVar9 + 700) == 0)" ( (binary_expression "*(int *)(puVar9 + 700) == 0" (pointer_expression "*(int *)(puVar9 + 700)" * (cast_expression "(int *)(puVar9 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 700)" ( (binary_expression "puVar9 + 700" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          return puVar22;\n        }" { (return_statement "return puVar22;" return identifier ;) })) (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,0x10)" ( identifier , number_literal )))) ;) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dc848);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc848)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dc848)" * (cast_expression "(code **)(puVar24 + 0x2dc848)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dc848)" ( (binary_expression "puVar24 + 0x2dc848" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cca38;" goto statement_identifier ;) })) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;) (if_statement "if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" if (parenthesized_expression "((uVar8 & 2) == 0)" ( (binary_expression "(uVar8 & 2) == 0" (parenthesized_expression "(uVar8 & 2)" ( (binary_expression "uVar8 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }" { (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000ccc54;" goto statement_identifier ;)) (labeled_statement "LAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);" statement_identifier : (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;)) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cccc4;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" else (compound_statement "{\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" { (expression_statement "uVar3 = (*pcVar25)(puVar9,1);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,1)" identifier = (call_expression "(*pcVar25)(puVar9,1)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)(uVar8 & 1);" (assignment_expression "puVar22 = (undefined *)(uVar8 & 1)" identifier = (cast_expression "(undefined *)(uVar8 & 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;" if (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000cc900;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);" statement_identifier : (expression_statement "uVar3 = (*pcVar25)(puVar9,2);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,2)" identifier = (call_expression "(*pcVar25)(puVar9,2)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,2)" ( identifier , number_literal )))) ;)) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" if (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" { (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);" statement_identifier : (expression_statement "uVar3 = (*pcVar25)(puVar9,4);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,4)" identifier = (call_expression "(*pcVar25)(puVar9,4)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9,4)" ( identifier , number_literal )))) ;)) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) }))) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2))" ( (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" * (cast_expression "(uint *)(iVar2 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x28)" ( (binary_expression "iVar2 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(puVar9 + 4) == 2)" ( (binary_expression "*(int *)(puVar9 + 4) == 2" (pointer_expression "*(int *)(puVar9 + 4)" * (cast_expression "(int *)(puVar9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 4)" ( (binary_expression "puVar9 + 4" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }" { (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,8)" ( identifier , number_literal )))) ;) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" ( (pointer_expression "**(code **)(puVar24 + 0x2dca10)" * (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) )) (argument_list "(puVar9)" ( identifier )))) ;) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" identifier = (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) )))) ;) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" identifier = (pointer_expression "*(int *)(puVar9 + 0x2d0)" * (cast_expression "(int *)(puVar9 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x2d0)" ( (binary_expression "puVar9 + 0x2d0" identifier + number_literal) ))))) ;) })) (if_statement "if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }" if (parenthesized_expression "(((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0))" ( (binary_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)" (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" ( (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" * (cast_expression "(uint *)(iVar2 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x34)" ( (binary_expression "iVar2 + 0x34" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(int *)(puVar9 + 700) == 0)" ( (binary_expression "*(int *)(puVar9 + 700) == 0" (pointer_expression "*(int *)(puVar9 + 700)" * (cast_expression "(int *)(puVar9 + 700)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 700)" ( (binary_expression "puVar9 + 700" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        return puVar22;\n      }" { (return_statement "return puVar22;" return identifier ;) })) (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" identifier = (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,0x10)" ( identifier , number_literal )))) ;) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dca10);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dca10)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dca10)" * (cast_expression "(code **)(puVar24 + 0x2dca10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dca10)" ( (binary_expression "puVar24 + 0x2dca10" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);" statement_identifier : (expression_statement "uVar8 = (*pcVar25)(puVar9);" (assignment_expression "uVar8 = (*pcVar25)(puVar9)" identifier = (call_expression "(*pcVar25)(puVar9)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar9)" ( identifier )))) ;)) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" * (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" * (cast_expression "(code **)(puVar24 + 0x2dcd30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcd30)" ( (binary_expression "puVar24 + 0x2dcd30" identifier + number_literal) ))))) )) (argument_list "(puVar9,uVar3)" ( identifier , identifier ))) ;) (return_statement "return (undefined *)((uint)puVar22 & uVar8);" return (cast_expression "(undefined *)((uint)puVar22 & uVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar22 & uVar8)" ( (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" ( (type_descriptor "uint" type_identifier) ) identifier) & identifier) ))) ;) })) (expression_statement "(**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);" (call_expression "(**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcda8))" ( (pointer_expression "**(code **)(puVar24 + 0x2dcda8)" * (pointer_expression "*(code **)(puVar24 + 0x2dcda8)" * (cast_expression "(code **)(puVar24 + 0x2dcda8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcda8)" ( (binary_expression "puVar24 + 0x2dcda8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c)" ( (binary_expression "*(int *)(puVar24 + 0x2dc088) + -0x3784" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar22 = puVar9;" (assignment_expression "puVar22 = puVar9" identifier = identifier) ;) })) (expression_statement "uVar3 = 0xc92;" (assignment_expression "uVar3 = 0xc92" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcda8);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcda8)" identifier = (pointer_expression "*(code **)(puVar24 + 0x2dcda8)" * (cast_expression "(code **)(puVar24 + 0x2dcda8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x2dcda8)" ( (binary_expression "puVar24 + 0x2dcda8" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;" (assignment_expression "iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c" identifier = (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;" (assignment_expression "iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0" identifier = (binary_expression "*(int *)(puVar24 + 0x2dc080) + 0xdd0" (pointer_expression "*(int *)(puVar24 + 0x2dc080)" * (cast_expression "(int *)(puVar24 + 0x2dc080)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc080)" ( (binary_expression "puVar24 + 0x2dc080" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);" (call_expression "(*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060)" ( identifier , (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" * (cast_expression "(int *)(puVar24 + 0x2dc088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x2dc088)" ( (binary_expression "puVar24 + 0x2dc088" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "dVar33 = (double)CONCAT44(uVar3,iVar15);" (assignment_expression "dVar33 = (double)CONCAT44(uVar3,iVar15)" identifier = (cast_expression "(double)CONCAT44(uVar3,iVar15)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar3,iVar15)" identifier (argument_list "(uVar3,iVar15)" ( identifier , identifier ))))) ;) (if_statement "if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" { (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" * (cast_expression "(int *)(iVar2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x336c)" ( (binary_expression "iVar2 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }" { (expression_statement "pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);" (assignment_expression "pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" identifier = (cast_expression "(double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc670))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc670)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc670)" * (cast_expression "(code **)(pcVar25 + 0x2dc670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc670)" ( (binary_expression "pcVar25 + 0x2dc670" identifier + number_literal) ))))) )) (argument_list "(0x10000,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" if (parenthesized_expression "(pdVar4 == (double *)0x0)" ( (binary_expression "pdVar4 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);" (call_expression "(**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc084))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc084)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc084)" * (cast_expression "(code **)(pcVar25 + 0x2dc084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc084)" ( (binary_expression "pcVar25 + 0x2dc084" identifier + number_literal) ))))) )) (argument_list "(pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5420" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "puVar22 = (undefined *)0x0;" (assignment_expression "puVar22 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" else (compound_statement "{\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);" (call_expression "(**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc838))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc838)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc838)" * (cast_expression "(code **)(pcVar25 + 0x2dc838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc838)" ( (binary_expression "pcVar25 + 0x2dc838" identifier + number_literal) ))))) )) (argument_list "(pdVar4,0,0x80000)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pdVar12 = pdVar4 + 0xffff;" (assignment_expression "pdVar12 = pdVar4 + 0xffff" identifier = (binary_expression "pdVar4 + 0xffff" identifier + number_literal)) ;) (expression_statement "uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);" (assignment_expression "uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc8b8))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc8b8)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc8b8)" * (cast_expression "(code **)(pcVar25 + 0x2dc8b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc8b8)" ( (binary_expression "pcVar25 + 0x2dc8b8" identifier + number_literal) ))))) )) (argument_list "(iVar2,pdStack_e8)" ( identifier , identifier )))) ;) (if_statement "if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }" if (parenthesized_expression "(0 < *(int *)(iVar2 + 0x1c))" ( (binary_expression "0 < *(int *)(iVar2 + 0x1c)" number_literal < (pointer_expression "*(int *)(iVar2 + 0x1c)" * (cast_expression "(int *)(iVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1438" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);" (assignment_expression "dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1400" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1410" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);" (assignment_expression "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1a50" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2dc7c0)" * (cast_expression "(code **)(pcVar25 + 0x2dc7c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc7c0)" ( (binary_expression "pcVar25 + 0x2dc7c0" identifier + number_literal) ))))) ;) (do_statement "do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));" do (compound_statement "{\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          }" { (expression_statement "iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);" (assignment_expression "iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15)" identifier = (call_expression "(*pcVar26)(uVar3,0,iVar20,iVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(uVar3,0,iVar20,iVar15)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (compound_statement "{\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }" { (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) (do_statement "do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);" do (compound_statement "{\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              }" { (expression_statement "dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);" (assignment_expression "dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" identifier = (cast_expression "(double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dbfbc))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dbfbc)" * (pointer_expression "*(code **)(pcVar25 + 0x2dbfbc)" * (cast_expression "(code **)(pcVar25 + 0x2dbfbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dbfbc)" ( (binary_expression "pcVar25 + 0x2dbfbc" identifier + number_literal) ))))) )) (argument_list "(iVar2,iVar5)" ( identifier , identifier ))))) ;) (expression_statement "fVar30 = (float)dVar29;" (assignment_expression "fVar30 = (float)dVar29" identifier = (cast_expression "(float)dVar29" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pdVar6 = pdVar12;" (assignment_expression "pdVar6 = pdVar12" identifier = identifier) ;) (if_statement "if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }" if (parenthesized_expression "((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30))" ( (binary_expression "(fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)" (parenthesized_expression "(fVar30 < (float)uVar34)" ( (binary_expression "fVar30 < (float)uVar34" identifier < (cast_expression "(float)uVar34" ( (type_descriptor "float" primitive_type) ) identifier)) )) && (parenthesized_expression "(pdVar6 = pdVar4, 0.0 < fVar30)" ( (comma_expression "pdVar6 = pdVar4, 0.0 < fVar30" (assignment_expression "pdVar6 = pdVar4" identifier = identifier) , (binary_expression "0.0 < fVar30" number_literal < identifier)) ))) )) (compound_statement "{\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }" { (expression_statement "dVar29 = (double)fVar30 + dVar35;" (assignment_expression "dVar29 = (double)fVar30 + dVar35" identifier = (binary_expression "(double)fVar30 + dVar35" (cast_expression "(double)fVar30" ( (type_descriptor "double" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }" if (parenthesized_expression "(dVar32 <= dVar29)" ( (binary_expression "dVar32 <= dVar29" identifier <= identifier) )) (compound_statement "{\n                    dVar29 = dVar29 - dVar32;\n                  }" { (expression_statement "dVar29 = dVar29 - dVar32;" (assignment_expression "dVar29 = dVar29 - dVar32" identifier = (binary_expression "dVar29 - dVar32" identifier - identifier)) ;) })) (expression_statement "pdVar6 = pdVar4 + (int)dVar29;" (assignment_expression "pdVar6 = pdVar4 + (int)dVar29" identifier = (binary_expression "pdVar4 + (int)dVar29" identifier + (cast_expression "(int)dVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" identifier = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" identifier = (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4" identifier = (binary_expression "iVar5 + *(int *)(iVar2 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*pdVar6 = *pdVar6 + dVar31;" (assignment_expression "*pdVar6 = *pdVar6 + dVar31" (pointer_expression "*pdVar6" * identifier) = (binary_expression "*pdVar6 + dVar31" (pointer_expression "*pdVar6" * identifier) + identifier)) ;) }) while (parenthesized_expression "(iVar27 < iVar15)" ( (binary_expression "iVar27 < iVar15" identifier < identifier) )) ;) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2dc7c0)" * (cast_expression "(code **)(pcVar25 + 0x2dc7c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc7c0)" ( (binary_expression "pcVar25 + 0x2dc7c0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar20 < *(int *)(iVar2 + 0x1c))" ( (binary_expression "iVar20 < *(int *)(iVar2 + 0x1c)" identifier < (pointer_expression "*(int *)(iVar2 + 0x1c)" * (cast_expression "(int *)(iVar2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(pcVar25 + 0x2dc058))(uVar3);" (call_expression "(**(code **)(pcVar25 + 0x2dc058))(uVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc058))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc058)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc058)" * (cast_expression "(code **)(pcVar25 + 0x2dc058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc058)" ( (binary_expression "pcVar25 + 0x2dc058" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "dVar31 = 0.0;" (assignment_expression "dVar31 = 0.0" identifier = number_literal) ;) (expression_statement "pdVar6 = pdVar4;" (assignment_expression "pdVar6 = pdVar4" identifier = identifier) ;) (do_statement "do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);" do (compound_statement "{\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        }" { (expression_statement "dVar31 = dVar31 + *pdVar6;" (assignment_expression "dVar31 = dVar31 + *pdVar6" identifier = (binary_expression "dVar31 + *pdVar6" identifier + (pointer_expression "*pdVar6" * identifier))) ;) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (if_statement "if (dVar33 <= dVar31) break;" if (parenthesized_expression "(dVar33 <= dVar31)" ( (binary_expression "dVar33 <= dVar31" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pdVar6 = pdVar6 + 1;" (assignment_expression "pdVar6 = pdVar6 + 1" identifier = (binary_expression "pdVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0xffff)" ( (binary_expression "iVar15 != 0xffff" identifier != number_literal) )) ;) (expression_statement "iVar15 = 0xffff;" (assignment_expression "iVar15 = 0xffff" identifier = number_literal) ;) (expression_statement "dVar31 = 0.0;" (assignment_expression "dVar31 = 0.0" identifier = number_literal) ;) (do_statement "do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);" do (compound_statement "{\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        }" { (expression_statement "dVar31 = dVar31 + *pdVar12;" (assignment_expression "dVar31 = dVar31 + *pdVar12" identifier = (binary_expression "dVar31 + *pdVar12" identifier + (pointer_expression "*pdVar12" * identifier))) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (if_statement "if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }" if (parenthesized_expression "(dStack_f0 <= dVar31)" ( (binary_expression "dStack_f0 <= dVar31" identifier <= identifier) )) (compound_statement "{\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }" { (expression_statement "(**(code **)(pcVar25 + 0x2dc124))(pdVar4);" (call_expression "(**(code **)(pcVar25 + 0x2dc124))(pdVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc124))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc124)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc124)" * (cast_expression "(code **)(pcVar25 + 0x2dc124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc124)" ( (binary_expression "pcVar25 + 0x2dc124" identifier + number_literal) ))))) )) (argument_list "(pdVar4)" ( identifier ))) ;) (goto_statement "goto LAB_000cd170;" goto statement_identifier ;) })) (expression_statement "pdVar12 = pdVar12 + -1;" (assignment_expression "pdVar12 = pdVar12 + -1" identifier = (binary_expression "pdVar12 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) ;) (expression_statement "(**(code **)(pcVar25 + 0x2dc124))(pdVar4);" (call_expression "(**(code **)(pcVar25 + 0x2dc124))(pdVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc124))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc124)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc124)" * (cast_expression "(code **)(pcVar25 + 0x2dc124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc124)" ( (binary_expression "pcVar25 + 0x2dc124" identifier + number_literal) ))))) )) (argument_list "(pdVar4)" ( identifier ))) ;) (labeled_statement "LAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);" statement_identifier : (expression_statement "puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);" (assignment_expression "puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" identifier = (cast_expression "(undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc3d4))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc3d4)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc3d4)" * (cast_expression "(code **)(pcVar25 + 0x2dc3d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc3d4)" ( (binary_expression "pcVar25 + 0x2dc3d4" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier ))))) ;)) }))) (return_statement "return puVar22;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);" (call_expression "(**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc76c))" ( (pointer_expression "**(code **)(pcVar25 + 0x2dc76c)" * (pointer_expression "*(code **)(pcVar25 + 0x2dc76c)" * (cast_expression "(code **)(pcVar25 + 0x2dc76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc76c)" ( (binary_expression "pcVar25 + 0x2dc76c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + -0x3784" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5434" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" identifier = identifier) ;) })) (expression_statement "iVar2 = 0xd24;" (assignment_expression "iVar2 = 0xd24" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc76c);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc76c)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2dc76c)" * (cast_expression "(code **)(pcVar25 + 0x2dc76c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2dc76c)" ( (binary_expression "pcVar25 + 0x2dc76c" identifier + number_literal) ))))) ;) (expression_statement "pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);" (assignment_expression "pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" * (cast_expression "(int *)(pcVar25 + 0x2dba4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba4c)" ( (binary_expression "pcVar25 + 0x2dba4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);" (assignment_expression "piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" identifier = (cast_expression "(int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" ( (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0xdd0" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" * (cast_expression "(int *)(pcVar25 + 0x2dba44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dba44)" ( (binary_expression "pcVar25 + 0x2dba44" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar25 = pcVar26 + 0x2e35c0;" (assignment_expression "pcVar25 = pcVar26 + 0x2e35c0" identifier = (binary_expression "pcVar26 + 0x2e35c0" identifier + number_literal)) ;) (expression_statement "piVar21 = *(int **)(pcVar26 + 0x2dbf40);" (assignment_expression "piVar21 = *(int **)(pcVar26 + 0x2dbf40)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x2dbf40)" * (cast_expression "(int **)(pcVar26 + 0x2dbf40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dbf40)" ( (binary_expression "pcVar26 + 0x2dbf40" identifier + number_literal) ))))) ;) (expression_statement "pdStack_1d0 = pdStack_e8;" (assignment_expression "pdStack_1d0 = pdStack_e8" identifier = identifier) ;) (expression_statement "pdStack_1d8 = local_a0;" (assignment_expression "pdStack_1d8 = local_a0" identifier = identifier) ;) (expression_statement "piStack_1e4 = (int *)*piVar21;" (assignment_expression "piStack_1e4 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "pcStack_2a0 = pcVar25;" (assignment_expression "pcStack_2a0 = pcVar25" identifier = identifier) ;) (expression_statement "puStack_1e0 = puVar22;" (assignment_expression "puStack_1e0 = puVar22" identifier = identifier) ;) (expression_statement "puStack_1dc = param_7;" (assignment_expression "puStack_1dc = param_7" identifier = identifier) ;) (expression_statement "iStack_1d4 = unaff_s3;" (assignment_expression "iStack_1d4 = unaff_s3" identifier = identifier) ;) (if_statement "if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }" { (labeled_statement "LAB_000cddd8:\n    iVar15 = 0xe4d;" statement_identifier : (expression_statement "iVar15 = 0xe4d;" (assignment_expression "iVar15 = 0xe4d" identifier = number_literal) ;)) (expression_statement "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);" (assignment_expression "piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f0) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x2db5f0)" * (cast_expression "(int *)(pcVar26 + 0x2db5f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f0)" ( (binary_expression "pcVar26 + 0x2db5f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2dc318))();" (call_expression "(**(code **)(pcVar26 + 0x2dc318))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dc318))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dc318)" * (pointer_expression "*(code **)(pcVar26 + 0x2dc318)" * (cast_expression "(code **)(pcVar26 + 0x2dc318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dc318)" ( (binary_expression "pcVar26 + 0x2dc318" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" else (compound_statement "{\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" { (expression_statement "unaff_s7 = piVar10;" (assignment_expression "unaff_s7 = piVar10" identifier = identifier) ;) (if_statement "if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" if (parenthesized_expression "(piVar10[0xcdb] != -0x54535255)" ( (binary_expression "piVar10[0xcdb] != -0x54535255" (subscript_expression "piVar10[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);" (call_expression "(**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dc318))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dc318)" * (pointer_expression "*(code **)(pcVar26 + 0x2dc318)" * (cast_expression "(code **)(pcVar26 + 0x2dc318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dc318)" ( (binary_expression "pcVar26 + 0x2dc318" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5410" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000cddd8;" goto statement_identifier ;) })) (if_statement "if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" if (parenthesized_expression "(piVar10[0xcd4] == 0)" ( (binary_expression "piVar10[0xcd4] == 0" (subscript_expression "piVar10[0xcd4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }" { (expression_statement "pdVar12 = pdVar4;" (assignment_expression "pdVar12 = pdVar4" identifier = identifier) ;) (expression_statement "iVar15 = iVar2;" (assignment_expression "iVar15 = iVar2" identifier = identifier) ;) (if_statement "if (pdVar4 == (double *)0x0) goto LAB_000cd570;" if (parenthesized_expression "(pdVar4 == (double *)0x0)" ( (binary_expression "pdVar4 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd570;" goto statement_identifier ;)) (labeled_statement "LAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" statement_identifier : (if_statement "if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" if (parenthesized_expression "((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)))" ( (binary_expression "(0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < piVar10[1] - 3U)" ( (binary_expression "0x1e < piVar10[1] - 3U" number_literal < (binary_expression "piVar10[1] - 3U" (subscript_expression "piVar10[1]" identifier [ number_literal ]) - number_literal)) )) || (parenthesized_expression "(-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" ( (binary_expression "(0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f" (parenthesized_expression "(0x403c0001U >> (piVar10[1] - 3U & 0x1f))" ( (binary_expression "0x403c0001U >> (piVar10[1] - 3U & 0x1f)" number_literal >> (parenthesized_expression "(piVar10[1] - 3U & 0x1f)" ( (binary_expression "piVar10[1] - 3U & 0x1f" (binary_expression "piVar10[1] - 3U" (subscript_expression "piVar10[1]" identifier [ number_literal ]) - number_literal) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);" (call_expression "(**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b70))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7b70)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7b70)" * (cast_expression "(code **)(pcStack_2a0 + -0x7b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7b70)" ( (binary_expression "pcStack_2a0 + -0x7b70" identifier + number_literal) ))))) )) (argument_list "(piVar10,0x17,iVar2)" ( identifier , number_literal , identifier ))) ;) }))) (expression_statement "uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);" (assignment_expression "uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x745c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x745c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x745c)" * (cast_expression "(code **)(pcStack_2a0 + -0x745c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x745c)" ( (binary_expression "pcStack_2a0 + -0x745c" identifier + number_literal) ))))) )) (argument_list "(pdVar4,&dStack_240)" ( identifier , (pointer_expression "&dStack_240" & identifier) )))) ;) (expression_statement "param_5 = dStack_238;" (assignment_expression "param_5 = dStack_238" identifier = identifier) ;) (if_statement "if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" if (parenthesized_expression "((uVar8 & 8) == 0)" ( (binary_expression "(uVar8 & 8) == 0" (parenthesized_expression "(uVar8 & 8)" ( (binary_expression "uVar8 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" { (expression_statement "param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "dVar31 = dStack_230;" (assignment_expression "dVar31 = dStack_230" identifier = identifier) ;) (if_statement "if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" if (parenthesized_expression "((uVar8 & 1) == 0)" ( (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" ( (binary_expression "uVar8 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" { (expression_statement "dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73f0))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73f0)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73f0)" * (cast_expression "(code **)(pcStack_2a0 + -0x73f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73f0)" ( (binary_expression "pcStack_2a0 + -0x73f0" identifier + number_literal) ))))) )) (argument_list "(piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" ( identifier , (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }" { (expression_statement "iStack_298 = 0;" (assignment_expression "iStack_298 = 0" identifier = number_literal) ;) (expression_statement "dVar33 = dStack_240;" (assignment_expression "dVar33 = dStack_240" identifier = identifier) ;) }) (else_clause "else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" else (compound_statement "{\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" { (expression_statement "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);" (assignment_expression "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x721c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x721c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x721c)" * (cast_expression "(code **)(pcStack_2a0 + -0x721c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x721c)" ( (binary_expression "pcStack_2a0 + -0x721c" identifier + number_literal) ))))) )) (argument_list "(9,0,iVar15)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "dVar33 = dStack_240;" (assignment_expression "dVar33 = dStack_240" identifier = identifier) ;) }))) (if_statement "if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" if (parenthesized_expression "((*piVar10 == 2) && (0 < piVar10[9]))" ( (binary_expression "(*piVar10 == 2) && (0 < piVar10[9])" (parenthesized_expression "(*piVar10 == 2)" ( (binary_expression "*piVar10 == 2" (pointer_expression "*piVar10" * identifier) == number_literal) )) && (parenthesized_expression "(0 < piVar10[9])" ( (binary_expression "0 < piVar10[9]" number_literal < (subscript_expression "piVar10[9]" identifier [ number_literal ])) ))) )) (compound_statement "{\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (expression_statement "dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8)" identifier = (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" * (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" ( (binary_expression "pcStack_2a0 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uStack_294 = iStack_298 - 4;" (assignment_expression "uStack_294 = iStack_298 - 4" identifier = (binary_expression "iStack_298 - 4" identifier - number_literal)) ;) (expression_statement "pdStack_284 = &dStack_250;" (assignment_expression "pdStack_284 = &dStack_250" identifier = (pointer_expression "&dStack_250" & identifier)) ;) (expression_statement "puStack_290 = &uStack_268;" (assignment_expression "puStack_290 = &uStack_268" identifier = (pointer_expression "&uStack_268" & identifier)) ;) (expression_statement "puStack_28c = &uStack_260;" (assignment_expression "puStack_28c = &uStack_260" identifier = (pointer_expression "&uStack_260" & identifier)) ;) (expression_statement "dVar35 = *(double *)(iStack_280 + -0x39f0);" (assignment_expression "dVar35 = *(double *)(iStack_280 + -0x39f0)" identifier = (pointer_expression "*(double *)(iStack_280 + -0x39f0)" * (cast_expression "(double *)(iStack_280 + -0x39f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_280 + -0x39f0)" ( (binary_expression "iStack_280 + -0x39f0" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = piVar10[10];" (assignment_expression "iVar15 = piVar10[10]" identifier = (subscript_expression "piVar10[10]" identifier [ number_literal ])) ;) (expression_statement "puStack_288 = &uStack_258;" (assignment_expression "puStack_288 = &uStack_258" identifier = (pointer_expression "&uStack_258" & identifier)) ;) (expression_statement "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);" (assignment_expression "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4" (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) )))) + number_literal) + (binary_expression "uStack_294 * 4" identifier * number_literal)) )))) ;) (expression_statement "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8)" identifier = (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" ( (binary_expression "pcStack_2a0 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "dStack_270 = dVar32;" (assignment_expression "dStack_270 = dVar32" identifier = identifier) ;) (do_statement "do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);" do (compound_statement "{\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        }" { (expression_statement "iVar15 = iVar15 + unaff_s8;" (assignment_expression "iVar15 = iVar15 + unaff_s8" identifier = (binary_expression "iVar15 + unaff_s8" identifier + identifier)) ;) (expression_statement "uStack_258 = *(undefined8 *)(iVar15 + 0x28);" (assignment_expression "uStack_258 = *(undefined8 *)(iVar15 + 0x28)" identifier = (pointer_expression "*(undefined8 *)(iVar15 + 0x28)" * (cast_expression "(undefined8 *)(iVar15 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uStack_260 = *(undefined8 *)(iVar15 + 0x30);" (assignment_expression "uStack_260 = *(undefined8 *)(iVar15 + 0x30)" identifier = (pointer_expression "*(undefined8 *)(iVar15 + 0x30)" * (cast_expression "(undefined8 *)(iVar15 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "uStack_268 = *(undefined8 *)(iVar15 + 0x38);" (assignment_expression "uStack_268 = *(undefined8 *)(iVar15 + 0x38)" identifier = (pointer_expression "*(undefined8 *)(iVar15 + 0x38)" * (cast_expression "(undefined8 *)(iVar15 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x38)" ( (binary_expression "iVar15 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }" if (parenthesized_expression "(uStack_294 < 0xb)" ( (binary_expression "uStack_294 < 0xb" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }" { (expression_statement "puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();" (assignment_expression "puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))()" identifier = (cast_expression "(undefined *)(*(pcStack_2a0 + *unaff_s5))()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcStack_2a0 + *unaff_s5))()" (parenthesized_expression "(*(pcStack_2a0 + *unaff_s5))" ( (pointer_expression "*(pcStack_2a0 + *unaff_s5)" * (parenthesized_expression "(pcStack_2a0 + *unaff_s5)" ( (binary_expression "pcStack_2a0 + *unaff_s5" identifier + (pointer_expression "*unaff_s5" * identifier)) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar22;" return identifier ;) })) (expression_statement "pdStack_2b0 = pdStack_284;" (assignment_expression "pdStack_2b0 = pdStack_284" identifier = identifier) ;) (expression_statement "uStack_2b8 = (double)uStack_268;" (assignment_expression "uStack_2b8 = (double)uStack_268" identifier = (cast_expression "(double)uStack_268" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pdStack_2ac = &dStack_218;" (assignment_expression "pdStack_2ac = &dStack_218" identifier = (pointer_expression "&dStack_218" & identifier)) ;) (expression_statement "pdStack_2a8 = &dStack_248;" (assignment_expression "pdStack_2a8 = &dStack_248" identifier = (pointer_expression "&dStack_248" & identifier)) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7b7c))();" (call_expression "(**(code **)(pcStack_2a0 + -0x7b7c))()" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b7c))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7b7c)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7b7c)" * (cast_expression "(code **)(pcStack_2a0 + -0x7b7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7b7c)" ( (binary_expression "pcStack_2a0 + -0x7b7c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);" (assignment_expression "dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" identifier = (cast_expression "(double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" ( (type_descriptor "double" primitive_type) ) (call_expression "(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x6ef8))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x6ef8)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x6ef8)" * (cast_expression "(code **)(pcStack_2a0 + -0x6ef8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x6ef8)" ( (binary_expression "pcStack_2a0 + -0x6ef8" identifier + number_literal) ))))) )) (argument_list "(dVar31 - dStack_278,dVar35)" ( (binary_expression "dVar31 - dStack_278" identifier - identifier) , identifier ))))) ;) (expression_statement "pdStack_2a8 = (double *)puStack_290;" (assignment_expression "pdStack_2a8 = (double *)puStack_290" identifier = (cast_expression "(double *)puStack_290" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdStack_2ac = (double *)puStack_28c;" (assignment_expression "pdStack_2ac = (double *)puStack_28c" identifier = (cast_expression "(double *)puStack_28c" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pdStack_2b0 = (double *)puStack_288;" (assignment_expression "pdStack_2b0 = (double *)puStack_288" identifier = (cast_expression "(double *)puStack_288" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "dStack_250 = dVar29 / dVar35 + dStack_250;" (assignment_expression "dStack_250 = dVar29 / dVar35 + dStack_250" identifier = (binary_expression "dVar29 / dVar35 + dStack_250" (binary_expression "dVar29 / dVar35" identifier / identifier) + identifier)) ;) (expression_statement "dStack_218 = param_5 * dVar32 * dStack_218;" (assignment_expression "dStack_218 = param_5 * dVar32 * dStack_218" identifier = (binary_expression "param_5 * dVar32 * dStack_218" (binary_expression "param_5 * dVar32" identifier * identifier) * identifier)) ;) (expression_statement "uStack_2b8 = dVar33 * dVar32 * dStack_248;" (assignment_expression "uStack_2b8 = dVar33 * dVar32 * dStack_248" identifier = (binary_expression "dVar33 * dVar32 * dStack_248" (binary_expression "dVar33 * dVar32" identifier * identifier) * identifier)) ;) (expression_statement "dStack_248 = uStack_2b8;" (assignment_expression "dStack_248 = uStack_2b8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);" (call_expression "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7230))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7230)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7230)" * (cast_expression "(code **)(pcStack_2a0 + -0x7230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7230)" ( (binary_expression "pcStack_2a0 + -0x7230" identifier + number_literal) ))))) )) (argument_list "(dStack_250,dStack_218)" ( identifier , identifier ))) ;) (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" identifier = (binary_expression "unaff_s6 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = piVar10[10];" (assignment_expression "iVar15 = piVar10[10]" identifier = (subscript_expression "piVar10[10]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = piVar10[9];" (assignment_expression "iVar20 = piVar10[9]" identifier = (subscript_expression "piVar10[9]" identifier [ number_literal ])) ;) (expression_statement "iVar5 = iVar15 + unaff_s8;" (assignment_expression "iVar5 = iVar15 + unaff_s8" identifier = (binary_expression "iVar15 + unaff_s8" identifier + identifier)) ;) (expression_statement "unaff_s8 = unaff_s8 + 0x58;" (assignment_expression "unaff_s8 = unaff_s8 + 0x58" identifier = (binary_expression "unaff_s8 + 0x58" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)(iVar5 + 0x28) = uStack_258;" (assignment_expression "*(undefined8 *)(iVar5 + 0x28) = uStack_258" (pointer_expression "*(undefined8 *)(iVar5 + 0x28)" * (cast_expression "(undefined8 *)(iVar5 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar5 + 0x30) = uStack_260;" (assignment_expression "*(undefined8 *)(iVar5 + 0x30) = uStack_260" (pointer_expression "*(undefined8 *)(iVar5 + 0x30)" * (cast_expression "(undefined8 *)(iVar5 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(iVar5 + 0x38) = uStack_268;" (assignment_expression "*(undefined8 *)(iVar5 + 0x38) = uStack_268" (pointer_expression "*(undefined8 *)(iVar5 + 0x38)" * (cast_expression "(undefined8 *)(iVar5 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(unaff_s6 < iVar20)" ( (binary_expression "unaff_s6 < iVar20" identifier < identifier) )) ;) (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79dc)" ( (binary_expression "pcStack_2a0 + -0x79dc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" else (compound_statement "{\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" { (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79dc)" ( (binary_expression "pcStack_2a0 + -0x79dc" identifier + number_literal) ))))) ;) }))) (expression_statement "local_a0 = &dStack_218;" (assignment_expression "local_a0 = &dStack_218" identifier = (pointer_expression "&dStack_218" & identifier)) ;) (expression_statement "pdStack_e8 = &dStack_248;" (assignment_expression "pdStack_e8 = &dStack_248" identifier = (pointer_expression "&dStack_248" & identifier)) ;) (expression_statement "dStack_248 = 0.0;" (assignment_expression "dStack_248 = 0.0" identifier = number_literal) ;) (expression_statement "uVar3 = (*pcVar25)(piVar10,iVar2);" (assignment_expression "uVar3 = (*pcVar25)(piVar10,iVar2)" identifier = (call_expression "(*pcVar25)(piVar10,iVar2)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(piVar10,iVar2)" ( identifier , identifier )))) ;) (expression_statement "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))))" ( (binary_expression "((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))" (parenthesized_expression "((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))" ( (binary_expression "(iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (parenthesized_expression "(iVar15 == 4)" ( (binary_expression "iVar15 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" ( (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar15 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))" ( (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))" ( (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (binary_expression "iVar15 == 4" identifier == number_literal) || (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" ( (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" * (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x73fc)" ( (binary_expression "pcStack_2a0 + -0x73fc" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar15 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar20 = piVar10[7];" (assignment_expression "iVar20 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = iVar20;" (assignment_expression "iVar15 = iVar20" identifier = identifier) ;) (if_statement "if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }" if (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar15 = iVar20 + 0x3f;\n        }" { (expression_statement "iVar15 = iVar20 + 0x3f;" (assignment_expression "iVar15 = iVar20 + 0x3f" identifier = (binary_expression "iVar20 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1_04 < iVar15 >> 6)" ( (binary_expression "extraout_v1_04 < iVar15 >> 6" identifier < (binary_expression "iVar15 >> 6" identifier >> number_literal)) )) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_06 < 2;" (assignment_expression "bVar1 = extraout_v1_06 < 2" identifier = (binary_expression "extraout_v1_06 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar20 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar20 < 0x80;\n        }" { (expression_statement "bVar1 = iVar20 < 0x80;" (assignment_expression "bVar1 = iVar20 < 0x80" identifier = (binary_expression "iVar20 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" { (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar15 = piVar10[7];" (assignment_expression "iVar15 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar15 = iVar15 + 0x3f;\n          }" { (expression_statement "iVar15 = iVar15 + 0x3f;" (assignment_expression "iVar15 = iVar15 + 0x3f" identifier = (binary_expression "iVar15 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar15 = iVar15 >> 6;" (assignment_expression "iVar15 = iVar15 >> 6" identifier = (binary_expression "iVar15 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" if (parenthesized_expression "(extraout_v1_05 < iVar15)" ( (binary_expression "extraout_v1_05 < iVar15" identifier < identifier) )) (compound_statement "{\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" { (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000cdc0c;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" else (compound_statement "{\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" { (expression_statement "uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);" (assignment_expression "uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7)" identifier = (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }" { (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" { (expression_statement "uVar36 = (*pcVar25)(7);" (assignment_expression "uVar36 = (*pcVar25)(7)" identifier = (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000cd4bc;" goto statement_identifier ;)) (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000cd4d8;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" else (compound_statement "{\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" { (labeled_statement "LAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" statement_identifier : (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar36 = (*pcVar25)(7);" (assignment_expression "uVar36 = (*pcVar25)(7)" identifier = (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)" ( (comma_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" identifier = (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" * (cast_expression "(code **)(pcStack_2a0 + -0x7774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7774)" ( (binary_expression "pcStack_2a0 + -0x7774" identifier + number_literal) ))))) , (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal)) ))) )) (compound_statement "{\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }" { (labeled_statement "LAB_000cdc0c:\n          (*pcVar25)(7);" statement_identifier : (expression_statement "(*pcVar25)(7);" (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(7)" ( number_literal ))) ;)) (expression_statement "iVar15 = extraout_v1_03;" (assignment_expression "iVar15 = extraout_v1_03" identifier = identifier) ;) }) (else_clause "else {\n          iVar15 = 2;\n        }" else (compound_statement "{\n          iVar15 = 2;\n        }" { (expression_statement "iVar15 = 2;" (assignment_expression "iVar15 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000cd4d8:\n      iStack_1f4 = iStack_298;" statement_identifier : (expression_statement "iStack_1f4 = iStack_298;" (assignment_expression "iStack_1f4 = iStack_298" identifier = identifier) ;)) (expression_statement "puStack_1f0 = (undefined *)0x1;" (assignment_expression "puStack_1f0 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pdVar12 = local_a0;" (assignment_expression "pdVar12 = local_a0" identifier = identifier) ;) (expression_statement "dStack_210 = dVar31;" (assignment_expression "dStack_210 = dVar31" identifier = identifier) ;) (expression_statement "dStack_208 = param_5;" (assignment_expression "dStack_208 = param_5" identifier = identifier) ;) (expression_statement "piStack_200 = piVar10;" (assignment_expression "piStack_200 = piVar10" identifier = identifier) ;) (expression_statement "iStack_1fc = iVar2;" (assignment_expression "iStack_1fc = iVar2" identifier = identifier) ;) (expression_statement "uStack_1f8 = uVar3;" (assignment_expression "uStack_1f8 = uVar3" identifier = identifier) ;) (expression_statement "pdStack_1ec = pdStack_e8;" (assignment_expression "pdStack_1ec = pdStack_e8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);" (call_expression "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7718))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x7718)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x7718)" * (cast_expression "(code **)(pcStack_2a0 + -0x7718)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x7718)" ( (binary_expression "pcStack_2a0 + -0x7718" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0)" ( (binary_expression "*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8" (pointer_expression "*(int *)(pcStack_2a0 + -0x7e4c)" * (cast_expression "(int *)(pcStack_2a0 + -0x7e4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2a0 + -0x7e4c)" ( (binary_expression "pcStack_2a0 + -0x7e4c" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "puVar22 = puStack_1f0;" (assignment_expression "puVar22 = puStack_1f0" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2a0 + -0x79bc))(uVar3);" (call_expression "(**(code **)(pcStack_2a0 + -0x79bc))(uVar3)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x79bc))" ( (pointer_expression "**(code **)(pcStack_2a0 + -0x79bc)" * (pointer_expression "*(code **)(pcStack_2a0 + -0x79bc)" * (cast_expression "(code **)(pcStack_2a0 + -0x79bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2a0 + -0x79bc)" ( (binary_expression "pcStack_2a0 + -0x79bc" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" else (compound_statement "{\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" { (expression_statement "iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;" (assignment_expression "iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400" identifier = (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5400" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" identifier = (cast_expression "(double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" * (cast_expression "(int *)(pcVar26 + 0x2db5f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f8)" ( (binary_expression "pcVar26 + 0x2db5f8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);" (assignment_expression "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" identifier = (cast_expression "(double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" identifier (argument_list "(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" ( (binary_expression "*(int *)(pcVar26 + 0x2db5f4) + -0x62ac" (pointer_expression "*(int *)(pcVar26 + 0x2db5f4)" * (cast_expression "(int *)(pcVar26 + 0x2db5f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2db5f4)" ( (binary_expression "pcVar26 + 0x2db5f4" identifier + number_literal) )))) + number_literal) , (binary_expression "piVar10 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);" (call_expression "(**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dbef0))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dbef0)" * (pointer_expression "*(code **)(pcVar26 + 0x2dbef0)" * (cast_expression "(code **)(pcVar26 + 0x2dbef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dbef0)" ( (binary_expression "pcVar26 + 0x2dbef0" identifier + number_literal) ))))) )) (argument_list "(0x8000,pdVar12,iVar15,0xe50)" ( number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (pdVar4 != (double *)0x0) goto LAB_000cd380;" if (parenthesized_expression "(pdVar4 != (double *)0x0)" ( (binary_expression "pdVar4 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd380;" goto statement_identifier ;)) (labeled_statement "LAB_000cd570:\n      puVar22 = (undefined *)0x0;" statement_identifier : (expression_statement "puVar22 = (undefined *)0x0;" (assignment_expression "puVar22 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "piVar10 = piStack_1e4;" (assignment_expression "piVar10 = piStack_1e4" identifier = identifier) ;) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" identifier = identifier) ;) (expression_statement "pcVar25 = pcStack_2a0;" (assignment_expression "pcVar25 = pcStack_2a0" identifier = identifier) ;) (if_statement "if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }" if (parenthesized_expression "(piStack_1e4 == (int *)*piVar21)" ( (binary_expression "piStack_1e4 == (int *)*piVar21" identifier == (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) )) (compound_statement "{\n      return puVar22;\n    }" { (return_statement "return puVar22;" return identifier ;) })) }))) (expression_statement "pcVar25 = *(code **)(pcVar25 + -0x784c);" (assignment_expression "pcVar25 = *(code **)(pcVar25 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar25 + -0x784c)" * (cast_expression "(code **)(pcVar25 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + -0x784c)" ( (binary_expression "pcVar25 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = NegateImage;" (assignment_expression "pcVar26 = NegateImage" identifier = identifier) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)(pcVar25 + 0x2db428);" (assignment_expression "piVar23 = *(int **)(pcVar25 + 0x2db428)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x2db428)" * (cast_expression "(int **)(pcVar25 + 0x2db428)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db428)" ( (binary_expression "pcVar25 + 0x2db428" identifier + number_literal) ))))) ;) (expression_statement "iStack_30c = *piVar23;" (assignment_expression "iStack_30c = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "puStack_308 = puVar22;" (assignment_expression "puStack_308 = puVar22" identifier = identifier) ;) (expression_statement "piStack_304 = piVar21;" (assignment_expression "piStack_304 = piVar21" identifier = identifier) ;) (expression_statement "pdStack_300 = local_a0;" (assignment_expression "pdStack_300 = local_a0" identifier = identifier) ;) (expression_statement "iStack_2fc = unaff_s3;" (assignment_expression "iStack_2fc = unaff_s3" identifier = identifier) ;) (expression_statement "pdStack_2f8 = pdStack_e8;" (assignment_expression "pdStack_2f8 = pdStack_e8" identifier = identifier) ;) (expression_statement "piStack_2f4 = unaff_s5;" (assignment_expression "piStack_2f4 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_2f0 = unaff_s6;" (assignment_expression "iStack_2f0 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_2ec = unaff_s7;" (assignment_expression "piStack_2ec = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_2e8 = unaff_s8;" (assignment_expression "iStack_2e8 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_2e4 = pcVar26;" (assignment_expression "pcStack_2e4 = pcVar26" identifier = identifier) ;) (expression_statement "dStack_2e0 = dVar31;" (assignment_expression "dStack_2e0 = dVar31" identifier = identifier) ;) (expression_statement "dStack_2d8 = param_5;" (assignment_expression "dStack_2d8 = param_5" identifier = identifier) ;) (expression_statement "dStack_2d0 = dVar33;" (assignment_expression "dStack_2d0 = dVar33" identifier = identifier) ;) (if_statement "if (piVar10 == (int *)0x0) goto LAB_000ce444;" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce444;" goto statement_identifier ;)) (if_statement "if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }" if (parenthesized_expression "(piVar10[0xcdb] == -0x54535255)" ( (binary_expression "piVar10[0xcdb] == -0x54535255" (subscript_expression "piVar10[0xcdb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }" { (if_statement "if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }" if (parenthesized_expression "(piVar10[0xcd4] != 0)" ( (binary_expression "piVar10[0xcd4] != 0" (subscript_expression "piVar10[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }" { (expression_statement "(**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);" (call_expression "(**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db3d8))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db3d8)" * (pointer_expression "*(code **)(pcVar25 + 0x2db3d8)" * (cast_expression "(code **)(pcVar25 + 0x2db3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db3d8)" ( (binary_expression "pcVar25 + 0x2db3d8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53e8" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daadc) + -0x62ac" (pointer_expression "*(int *)(pcVar25 + 0x2daadc)" * (cast_expression "(int *)(pcVar25 + 0x2daadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daadc)" ( (binary_expression "pcVar25 + 0x2daadc" identifier + number_literal) )))) + number_literal) , (binary_expression "piVar10 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" if (parenthesized_expression "(*piVar10 == 2)" ( (binary_expression "*piVar10 == 2" (pointer_expression "*piVar10" * identifier) == number_literal) )) (compound_statement "{\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" { (expression_statement "iVar2 = piVar10[9];" (assignment_expression "iVar2 = piVar10[9]" identifier = (subscript_expression "piVar10[9]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 1) goto LAB_000cde94;" if (parenthesized_expression "(iVar2 < 1)" ( (binary_expression "iVar2 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000cde94;" goto statement_identifier ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x1a58" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (do_statement "do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);" do (compound_statement "{\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      }" { (if_statement "if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" if (parenthesized_expression "(pdVar12 == (double *)0x0)" ( (binary_expression "pdVar12 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }" { (labeled_statement "LAB_000ce184:\n          iVar27 = piVar10[0xb4];" statement_identifier : (expression_statement "iVar27 = piVar10[0xb4];" (assignment_expression "iVar27 = piVar10[0xb4]" identifier = (subscript_expression "piVar10[0xb4]" identifier [ number_literal ])) ;)) (if_statement "if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }" if (parenthesized_expression "((*(uint *)(iVar27 + 4) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar27 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 4) & 2)" ( (binary_expression "*(uint *)(iVar27 + 4) & 2" (pointer_expression "*(uint *)(iVar27 + 4)" * (cast_expression "(uint *)(iVar27 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 4)" ( (binary_expression "iVar27 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }" { (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x28)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x28)" ( (binary_expression "piVar10[10] + iVar20 + 0x28" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28)" identifier - (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x28)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x28)" ( (binary_expression "piVar10[10] + iVar20 + 0x28" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }" if (parenthesized_expression "((*(uint *)(iVar27 + 0x10) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar27 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar27 + 0x10) & 2" (pointer_expression "*(uint *)(iVar27 + 0x10)" * (cast_expression "(uint *)(iVar27 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x10)" ( (binary_expression "iVar27 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }" { (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x30)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x30)" ( (binary_expression "piVar10[10] + iVar20 + 0x30" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30)" identifier - (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x30)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x30)" ( (binary_expression "piVar10[10] + iVar20 + 0x30" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) (if_statement "if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }" if (parenthesized_expression "((*(uint *)(iVar27 + 0x1c) & 2) != 0)" ( (binary_expression "(*(uint *)(iVar27 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 0x1c) & 2)" ( (binary_expression "*(uint *)(iVar27 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar27 + 0x1c)" * (cast_expression "(uint *)(iVar27 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1c)" ( (binary_expression "iVar27 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }" { (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x38)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x38)" ( (binary_expression "piVar10[10] + iVar20 + 0x38" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))) = (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38)" identifier - (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x38)" * (cast_expression "(double *)(piVar10[10] + iVar20 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar10[10] + iVar20 + 0x38)" ( (binary_expression "piVar10[10] + iVar20 + 0x38" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier) + number_literal) )))))) ;) })) }) (else_clause "else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" else (compound_statement "{\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" { (expression_statement "iVar27 = piVar10[10] + iVar20;" (assignment_expression "iVar27 = piVar10[10] + iVar20" identifier = (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;" if (parenthesized_expression "((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38)))" ( (binary_expression "(*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))" (parenthesized_expression "(*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30))" ( (binary_expression "*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)" (pointer_expression "*(double *)(iVar27 + 0x28)" * (cast_expression "(double *)(iVar27 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x28)" ( (binary_expression "iVar27 + 0x28" identifier + number_literal) )))) == (pointer_expression "*(double *)(iVar27 + 0x30)" * (cast_expression "(double *)(iVar27 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x30)" ( (binary_expression "iVar27 + 0x30" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))" ( (binary_expression "*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38)" (pointer_expression "*(double *)(iVar27 + 0x30)" * (cast_expression "(double *)(iVar27 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x30)" ( (binary_expression "iVar27 + 0x30" identifier + number_literal) )))) == (pointer_expression "*(double *)(iVar27 + 0x38)" * (cast_expression "(double *)(iVar27 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x38)" ( (binary_expression "iVar27 + 0x38" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_000ce184;" goto statement_identifier ;)) }))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar20 + 0x58;" (assignment_expression "iVar20 = iVar20 + 0x58" identifier = (binary_expression "iVar20 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != iVar2)" ( (binary_expression "iVar5 != iVar2" identifier != identifier) )) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0cc)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0cc)" * (cast_expression "(code **)(pcVar25 + 0x2db0cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0cc)" ( (binary_expression "pcVar25 + 0x2db0cc" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" else (compound_statement "{\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" { (labeled_statement "LAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0cc)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0cc)" * (cast_expression "(code **)(pcVar25 + 0x2db0cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0cc)" ( (binary_expression "pcVar25 + 0x2db0cc" identifier + number_literal) ))))) ;)) }))) (expression_statement "uStack_324 = 0;" (assignment_expression "uStack_324 = 0" identifier = number_literal) ;) (expression_statement "iStack_328 = 0;" (assignment_expression "iStack_328 = 0" identifier = number_literal) ;) (expression_statement "uVar3 = (*pcVar26)(piVar10,iVar15);" (assignment_expression "uVar3 = (*pcVar26)(piVar10,iVar15)" identifier = (call_expression "(*pcVar26)(piVar10,iVar15)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar10,iVar15)" ( identifier , identifier )))) ;) (if_statement "if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" if (parenthesized_expression "(pdVar12 == (double *)0x0)" ( (binary_expression "pdVar12 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }" { (expression_statement "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))" ( (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" ( (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" * (cast_expression "(code **)(pcVar25 + 0x2db6ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6ac)" ( (binary_expression "pcVar25 + 0x2db6ac" identifier + number_literal) ))))) )) (argument_list "(piVar10)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar20 = piVar10[7];" (assignment_expression "iVar20 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = iVar20;" (assignment_expression "iVar2 = iVar20" identifier = identifier) ;) (if_statement "if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }" if (parenthesized_expression "(iVar20 < 0)" ( (binary_expression "iVar20 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar2 = iVar20 + 0x3f;\n        }" { (expression_statement "iVar2 = iVar20 + 0x3f;" (assignment_expression "iVar2 = iVar20 + 0x3f" identifier = (binary_expression "iVar20 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }" if (parenthesized_expression "(extraout_v1_07 < iVar2 >> 6)" ( (binary_expression "extraout_v1_07 < iVar2 >> 6" identifier < (binary_expression "iVar2 >> 6" identifier >> number_literal)) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" identifier = (binary_expression "extraout_v1_11 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n          bVar1 = iVar20 < 0x80;\n        }" else (compound_statement "{\n          bVar1 = iVar20 < 0x80;\n        }" { (expression_statement "bVar1 = iVar20 < 0x80;" (assignment_expression "bVar1 = iVar20 < 0x80" identifier = (binary_expression "iVar20 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" if (parenthesized_expression "((bool)(bVar1 ^ 1))" ( (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = piVar10[7];" (assignment_expression "iVar2 = piVar10[7]" identifier = (subscript_expression "piVar10[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n            iVar2 = iVar2 + 0x3f;\n          }" { (expression_statement "iVar2 = iVar2 + 0x3f;" (assignment_expression "iVar2 = iVar2 + 0x3f" identifier = (binary_expression "iVar2 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar2 = iVar2 >> 6;" (assignment_expression "iVar2 = iVar2 >> 6" identifier = (binary_expression "iVar2 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" if (parenthesized_expression "(extraout_v1_08 < iVar2)" ( (binary_expression "extraout_v1_08 < iVar2" identifier < identifier) )) (compound_statement "{\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = extraout_v1_10;" (assignment_expression "iVar2 = extraout_v1_10" identifier = identifier) ;) })) })) }) (else_clause "else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" else (compound_statement "{\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" { (expression_statement "uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);" (assignment_expression "uVar36 = (**(code **)(pcVar25 + 0x2db334))(7)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }" { (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" { (expression_statement "uVar36 = (*pcVar26)(7);" (assignment_expression "uVar36 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;" if (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_000ce288;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" if (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000ce2a0;" goto statement_identifier ;) })) })) }) (else_clause "else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" else (compound_statement "{\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" { (labeled_statement "LAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar36 = (*pcVar26)(7);" (assignment_expression "uVar36 = (*pcVar26)(7)" identifier = (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" ( (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar36 < 2)" ( (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }" { (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db334)" * (pointer_expression "*(code **)(pcVar25 + 0x2db334)" * (cast_expression "(code **)(pcVar25 + 0x2db334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db334)" ( (binary_expression "pcVar25 + 0x2db334" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = extraout_v1_09;" (assignment_expression "iVar2 = extraout_v1_09" identifier = identifier) ;) }) (else_clause "else {\n          iVar2 = 2;\n        }" else (compound_statement "{\n          iVar2 = 2;\n        }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;" statement_identifier : (expression_statement "puStack_314 = (undefined *)0x1;" (assignment_expression "puStack_314 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "piStack_310 = &iStack_328;" (assignment_expression "piStack_310 = &iStack_328" identifier = (pointer_expression "&iStack_328" & identifier)) ;) (expression_statement "piStack_320 = piVar10;" (assignment_expression "piStack_320 = piVar10" identifier = identifier) ;) (expression_statement "iStack_31c = iVar15;" (assignment_expression "iStack_31c = iVar15" identifier = identifier) ;) (expression_statement "uStack_318 = uVar3;" (assignment_expression "uStack_318 = uVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);" (call_expression "(**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db390))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db390)" * (pointer_expression "*(code **)(pcVar25 + 0x2db390)" * (cast_expression "(code **)(pcVar25 + 0x2db390)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db390)" ( (binary_expression "pcVar25 + 0x2db390" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" ( (binary_expression "*(int *)(pcVar25 + 0x2dac5c) + -0xc84" (pointer_expression "*(int *)(pcVar25 + 0x2dac5c)" * (cast_expression "(int *)(pcVar25 + 0x2dac5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2dac5c)" ( (binary_expression "pcVar25 + 0x2dac5c" identifier + number_literal) )))) + number_literal) , (pointer_expression "&piStack_320" & identifier) , identifier , number_literal ))) ;) (expression_statement "puVar22 = puStack_314;" (assignment_expression "puVar22 = puStack_314" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0x2db0ec))(uVar3);" (call_expression "(**(code **)(pcVar25 + 0x2db0ec))(uVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db0ec))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db0ec)" * (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" * (cast_expression "(code **)(pcVar25 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0ec)" ( (binary_expression "pcVar25 + 0x2db0ec" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" else (compound_statement "{\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" { (if_statement "if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }" if (parenthesized_expression "(0 < piVar10[7])" ( (binary_expression "0 < piVar10[7]" number_literal < (subscript_expression "piVar10[7]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);" (assignment_expression "dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x13f8" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);" (assignment_expression "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x1a50" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar25 + 0x2daae0);" (assignment_expression "iVar2 = *(int *)(pcVar25 + 0x2daae0)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = piVar10[6];" (assignment_expression "iVar20 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) (expression_statement "dVar31 = dVar33;" (assignment_expression "dVar31 = dVar33" identifier = identifier) ;) (while_statement "while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }" while (parenthesized_expression "(pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0)" ( (comma_expression "pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0" (assignment_expression "pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" identifier = (cast_expression "(float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db844))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db844)" * (pointer_expression "*(code **)(pcVar25 + 0x2db844)" * (cast_expression "(code **)(pcVar25 + 0x2db844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db844)" ( (binary_expression "pcVar25 + 0x2db844" identifier + number_literal) ))))) )) (argument_list "(uVar3,0,iVar5,iVar20,1,iVar15)" ( identifier , number_literal , identifier , identifier , number_literal , identifier ))))) , (binary_expression "pfVar7 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }" { (expression_statement "iVar27 = piVar10[6];" (assignment_expression "iVar27 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }" if (parenthesized_expression "(0 < iVar27)" ( (binary_expression "0 < iVar27" number_literal < identifier) )) (compound_statement "{\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }" { (expression_statement "iVar19 = piVar10[0xb0];" (assignment_expression "iVar19 = piVar10[0xb0]" identifier = (subscript_expression "piVar10[0xb0]" identifier [ number_literal ])) ;) (expression_statement "piVar21 = (int *)piVar10[0xb4];" (assignment_expression "piVar21 = (int *)piVar10[0xb4]" identifier = (cast_expression "(int *)piVar10[0xb4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar10[0xb4]" identifier [ number_literal ]))) ;) (expression_statement "iVar17 = piVar21[2];" (assignment_expression "iVar17 = piVar21[2]" identifier = (subscript_expression "piVar21[2]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = piVar21[5];" (assignment_expression "iVar16 = piVar21[5]" identifier = (subscript_expression "piVar21[5]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar21[8];" (assignment_expression "iVar18 = piVar21[8]" identifier = (subscript_expression "piVar21[8]" identifier [ number_literal ])) ;) (do_statement "do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);" do (compound_statement "{\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            }" { (while_statement "while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }" { (expression_statement "dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];" (assignment_expression "dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16]" identifier = (binary_expression "(double)pfVar7[iVar17] - (double)pfVar7[iVar16]" (cast_expression "(double)pfVar7[iVar17]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar17]" identifier [ identifier ])) - (cast_expression "(double)pfVar7[iVar16]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar16]" identifier [ identifier ])))) ;) (expression_statement "uVar8 = (uint)((ulonglong)dVar32 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)dVar32 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar32 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar32 >> 0x20)" ( (binary_expression "(ulonglong)dVar32 >> 0x20" (cast_expression "(ulonglong)dVar32" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }" if (parenthesized_expression "(dVar32 < 0.0)" ( (binary_expression "dVar32 < 0.0" identifier < number_literal) )) (compound_statement "{\n                  uVar8 = uVar8 ^ 0x80000000;\n                }" { (expression_statement "uVar8 = uVar8 ^ 0x80000000;" (assignment_expression "uVar8 = uVar8 ^ 0x80000000" identifier = (binary_expression "uVar8 ^ 0x80000000" identifier ^ number_literal)) ;) })) (if_statement "if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;" if (parenthesized_expression "((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31)" ( (binary_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31" (cast_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar8,SUB84(dVar32,0))" identifier (argument_list "(uVar8,SUB84(dVar32,0))" ( identifier , (call_expression "SUB84(dVar32,0)" identifier (argument_list "(dVar32,0)" ( identifier , number_literal ))) )))) < identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000cdf68:\n                iVar20 = iVar20 + 1;" statement_identifier : (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar7 = pfVar7 + iVar19;" (assignment_expression "pfVar7 = pfVar7 + iVar19" identifier = (binary_expression "pfVar7 + iVar19" identifier + identifier)) ;) (if_statement "if (iVar20 == iVar27) goto LAB_000ce048;" if (parenthesized_expression "(iVar20 == iVar27)" ( (binary_expression "iVar20 == iVar27" identifier == identifier) )) (goto_statement "goto LAB_000ce048;" goto statement_identifier ;)) })) (expression_statement "dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];" (assignment_expression "dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18]" identifier = (binary_expression "(double)pfVar7[iVar16] - (double)pfVar7[iVar18]" (cast_expression "(double)pfVar7[iVar16]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar16]" identifier [ identifier ])) - (cast_expression "(double)pfVar7[iVar18]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar7[iVar18]" identifier [ identifier ])))) ;) (expression_statement "uVar8 = (uint)((ulonglong)dVar32 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)dVar32 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)dVar32 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)dVar32 >> 0x20)" ( (binary_expression "(ulonglong)dVar32 >> 0x20" (cast_expression "(ulonglong)dVar32" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }" if (parenthesized_expression "(dVar32 < 0.0)" ( (binary_expression "dVar32 < 0.0" identifier < number_literal) )) (compound_statement "{\n                uVar8 = uVar8 ^ 0x80000000;\n              }" { (expression_statement "uVar8 = uVar8 ^ 0x80000000;" (assignment_expression "uVar8 = uVar8 ^ 0x80000000" identifier = (binary_expression "uVar8 ^ 0x80000000" identifier ^ number_literal)) ;) })) (if_statement "if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;" if (parenthesized_expression "((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1))" ( (binary_expression "(dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)" (parenthesized_expression "(dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0)))" ( (binary_expression "dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))" identifier <= (cast_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0))" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar8,SUB84(dVar32,0))" identifier (argument_list "(uVar8,SUB84(dVar32,0))" ( identifier , (call_expression "SUB84(dVar32,0)" identifier (argument_list "(dVar32,0)" ( identifier , number_literal ))) ))))) )) || (parenthesized_expression "(piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)" ( (comma_expression "piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1" (assignment_expression "piVar11 = piVar21" identifier = identifier) , (comma_expression "pfVar13 = pfVar7, iVar19 < 1" (assignment_expression "pfVar13 = pfVar7" identifier = identifier) , (binary_expression "iVar19 < 1" identifier < number_literal))) ))) )) (goto_statement "goto LAB_000cdf68;" goto statement_identifier ;)) (do_statement "do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);" do (compound_statement "{\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              }" { (if_statement "if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }" if (parenthesized_expression "((piVar21[*piVar11 * 3 + 1] & 2U) != 0)" ( (binary_expression "(piVar21[*piVar11 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar21[*piVar11 * 3 + 1] & 2U)" ( (binary_expression "piVar21[*piVar11 * 3 + 1] & 2U" (subscript_expression "piVar21[*piVar11 * 3 + 1]" identifier [ (binary_expression "*piVar11 * 3 + 1" (binary_expression "*piVar11 * 3" (pointer_expression "*piVar11" * identifier) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }" { (expression_statement "*pfVar13 = (float)uVar34 - *pfVar13;" (assignment_expression "*pfVar13 = (float)uVar34 - *pfVar13" (pointer_expression "*pfVar13" * identifier) = (binary_expression "(float)uVar34 - *pfVar13" (cast_expression "(float)uVar34" ( (type_descriptor "float" primitive_type) ) identifier) - (pointer_expression "*pfVar13" * identifier))) ;) })) (expression_statement "piVar11 = piVar11 + 3;" (assignment_expression "piVar11 = piVar11 + 3" identifier = (binary_expression "piVar11 + 3" identifier + number_literal)) ;) (expression_statement "pfVar13 = pfVar13 + 1;" (assignment_expression "pfVar13 = pfVar13 + 1" identifier = (binary_expression "pfVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar11 != piVar21 + iVar19 * 3)" ( (binary_expression "piVar11 != piVar21 + iVar19 * 3" identifier != (binary_expression "piVar21 + iVar19 * 3" identifier + (binary_expression "iVar19 * 3" identifier * number_literal))) )) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + iVar19;" (assignment_expression "pfVar7 = pfVar7 + iVar19" identifier = (binary_expression "pfVar7 + iVar19" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar20 != iVar27)" ( (binary_expression "iVar20 != iVar27" identifier != identifier) )) ;) })) (labeled_statement "LAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);" statement_identifier : (expression_statement "iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);" (assignment_expression "iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15)" identifier = (call_expression "(**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6f0))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db6f0)" * (pointer_expression "*(code **)(pcVar25 + 0x2db6f0)" * (cast_expression "(code **)(pcVar25 + 0x2db6f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db6f0)" ( (binary_expression "pcVar25 + 0x2db6f0" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar15)" ( identifier , identifier )))) ;)) (if_statement "if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }" if (parenthesized_expression "(piVar10[0xca] != 0)" ( (binary_expression "piVar10[0xca] != 0" (subscript_expression "piVar10[0xca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }" { (expression_statement "uVar8 = uStack_324 + 1;" (assignment_expression "uVar8 = uStack_324 + 1" identifier = (binary_expression "uStack_324 + 1" identifier + number_literal)) ;) (expression_statement "iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;" (assignment_expression "iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328" identifier = (binary_expression "(uint)(uVar8 < uStack_324) + iStack_328" (call_expression "(uint)(uVar8 < uStack_324)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uStack_324)" ( (binary_expression "uVar8 < uStack_324" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_324 = uVar8;" (assignment_expression "uStack_324 = uVar8" identifier = identifier) ;) (expression_statement "iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);" (assignment_expression "iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" identifier = (call_expression "(**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" (parenthesized_expression "(**(code **)(pcVar25 + 0x2daeac))" ( (pointer_expression "**(code **)(pcVar25 + 0x2daeac)" * (pointer_expression "*(code **)(pcVar25 + 0x2daeac)" * (cast_expression "(code **)(pcVar25 + 0x2daeac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2daeac)" ( (binary_expression "pcVar25 + 0x2daeac" identifier + number_literal) ))))) )) (argument_list "(piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" ( identifier , (binary_expression "iVar2 + 0x4f90" identifier + number_literal) , identifier , identifier , number_literal , (subscript_expression "piVar10[7]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (piVar10[7] <= iVar5) break;" if (parenthesized_expression "(piVar10[7] <= iVar5)" ( (binary_expression "piVar10[7] <= iVar5" (subscript_expression "piVar10[7]" identifier [ number_literal ]) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0ec);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0ec)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" * (cast_expression "(code **)(pcVar25 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0ec)" ( (binary_expression "pcVar25 + 0x2db0ec" identifier + number_literal) ))))) ;) (if_statement "if (iVar20 == 0) goto LAB_000ce0b0;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ce0b0;" goto statement_identifier ;)) (expression_statement "iVar20 = piVar10[6];" (assignment_expression "iVar20 = piVar10[6]" identifier = (subscript_expression "piVar10[6]" identifier [ number_literal ])) ;) })) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0ec);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0ec)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" * (cast_expression "(code **)(pcVar25 + 0x2db0ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db0ec)" ( (binary_expression "pcVar25 + 0x2db0ec" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ce0b0:\n      puVar22 = (undefined *)0x1;" statement_identifier : (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(*pcVar26)(uVar3);" (call_expression "(*pcVar26)(uVar3)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(uVar3)" ( identifier ))) ;) }))) (if_statement "if (iStack_30c == *piVar23) {\n      return puVar22;\n    }" if (parenthesized_expression "(iStack_30c == *piVar23)" ( (binary_expression "iStack_30c == *piVar23" identifier == (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n      return puVar22;\n    }" { (return_statement "return puVar22;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0x2db25c))();" (call_expression "(**(code **)(pcVar25 + 0x2db25c))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db25c))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db25c)" * (pointer_expression "*(code **)(pcVar25 + 0x2db25c)" * (cast_expression "(code **)(pcVar25 + 0x2db25c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db25c)" ( (binary_expression "pcVar25 + 0x2db25c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);" (call_expression "(**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db800))" ( (pointer_expression "**(code **)(pcVar25 + 0x2db800)" * (pointer_expression "*(code **)(pcVar25 + 0x2db800)" * (cast_expression "(code **)(pcVar25 + 0x2db800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db800)" ( (binary_expression "pcVar25 + 0x2db800" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" ( (binary_expression "*(int *)(pcVar25 + 0x2daae0) + -0x3784" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db800);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db800)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x2db800)" * (cast_expression "(code **)(pcVar25 + 0x2db800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x2db800)" ( (binary_expression "pcVar25 + 0x2db800" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);" (call_expression "(*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" ( (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0xdd0" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" * (cast_expression "(int *)(pcVar25 + 0x2daad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daad8)" ( (binary_expression "pcVar25 + 0x2daad8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" * (cast_expression "(int *)(pcVar25 + 0x2daae0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x2daae0)" ( (binary_expression "pcVar25 + 0x2daae0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();" (assignment_expression "puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))()" identifier = (cast_expression "(undefined *)(**(code **)(pcVar26 + 0x2dad50))()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x2dad50))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dad50))" ( (pointer_expression "**(code **)(pcVar26 + 0x2dad50)" * (pointer_expression "*(code **)(pcVar26 + 0x2dad50)" * (cast_expression "(code **)(pcVar26 + 0x2dad50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2dad50)" ( (binary_expression "pcVar26 + 0x2dad50" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar22;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 (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 (pointer_declarator * IDENT) ;) (declaration TYPE 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 * 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 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 * 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 (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 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 IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (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 IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * IDENT) + IDENT) ))))) ;) })) (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 IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * IDENT) + IDENT) ))))) ;) })) (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 IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * IDENT) + IDENT) ))))) ;) })) (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 IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * IDENT) + IDENT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (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 ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return 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 ( ))) ;) (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 (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 ( 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 ))) ;) })) (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) )) || (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (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) )) (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) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (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 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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 )))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 = (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 )))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 = (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 )))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (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 )))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (return_statement return 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 { (return_statement return 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 )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )) (goto_statement goto statement_identifier ;)) (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) ))))) ;)) (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) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == 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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 * (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 , 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (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 )))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (return_statement return 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 )))) ;) (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 )))) ;)) (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 ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_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 = (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 (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 ( 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) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 { (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 ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 , (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 ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (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 , 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 LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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 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 = (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 = (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 (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (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 = (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) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (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) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = 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 (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= 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 ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 ))) ;) (labeled_statement 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 ))))) ;)) }))) (return_statement return 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) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = 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) ;) (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 IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( (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) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (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 ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT >> (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) & 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 , 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 , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (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 = (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) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 ( LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 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 = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (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 = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * IDENT)) ))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (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 IDENT - IDENT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT / IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) * IDENT)) ;) (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 ( 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 = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_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) ))))) ;) }) (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) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (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 )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (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 ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (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) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (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 (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) , IDENT , IDENT , LIT ))) ;) (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 ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 *)) ) (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) ) (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_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 ( LIT , IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }))) (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 *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return 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 = (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) ;) (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 (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + 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 (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + 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 (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (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) )))) == (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) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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) ))))) ;) }) (else_clause else (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) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression 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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (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 )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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 )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (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 )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) }) (else_clause else (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 ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (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) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (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) , (pointer_expression & IDENT) , IDENT , LIT ))) ;) (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 ( IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (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 , LIT , IDENT , IDENT , LIT , IDENT ))))) , (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , LIT ))) )))) < IDENT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , LIT ))) ))))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < LIT))) ))) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + LIT) ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement 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 )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < 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 ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 ( ))) ;) })) (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 = (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 ( ))))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined *\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}" (type_identifier "undefined") (pointer_declarator "*\nLevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" (* "*") (function_declarator "LevelizeImage(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" (identifier "LevelizeImage") (parameter_list "(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,\n             undefined8 param_6,undefined *param_7)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "double param_5" (primitive_type "double") (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "undefined *param_7" (type_identifier "undefined") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")")))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  double *pdVar4;\n  int iVar5;\n  double *pdVar6;\n  float *pfVar7;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\n  uint uVar8;\n  int extraout_v1_03;\n  int extraout_v1_04;\n  int extraout_v1_05;\n  int extraout_v1_06;\n  int extraout_v1_07;\n  int extraout_v1_08;\n  int extraout_v1_09;\n  int extraout_v1_10;\n  int extraout_v1_11;\n  undefined *puVar9;\n  int *piVar10;\n  int *piVar11;\n  double *pdVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  int iVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  int *piVar21;\n  int unaff_s3;\n  undefined *puVar22;\n  int *unaff_s5;\n  int *piVar23;\n  int unaff_s6;\n  int *unaff_s7;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  int unaff_s8;\n  int iVar27;\n  double dVar28;\n  double dVar29;\n  float fVar30;\n  double dVar31;\n  double dVar32;\n  double dVar33;\n  ulonglong uVar34;\n  double dVar35;\n  undefined8 uVar36;\n  int iStack_328;\n  uint uStack_324;\n  int *piStack_320;\n  int iStack_31c;\n  undefined4 uStack_318;\n  undefined *puStack_314;\n  int *piStack_310;\n  int iStack_30c;\n  undefined *puStack_308;\n  int *piStack_304;\n  double *pdStack_300;\n  int iStack_2fc;\n  double *pdStack_2f8;\n  int *piStack_2f4;\n  int iStack_2f0;\n  int *piStack_2ec;\n  int iStack_2e8;\n  code *pcStack_2e4;\n  double dStack_2e0;\n  double dStack_2d8;\n  double dStack_2d0;\n  undefined8 uStack_2b8;\n  double *pdStack_2b0;\n  double *pdStack_2ac;\n  double *pdStack_2a8;\n  code *pcStack_2a0;\n  int iStack_298;\n  uint uStack_294;\n  undefined8 *puStack_290;\n  undefined8 *puStack_28c;\n  undefined8 *puStack_288;\n  double *pdStack_284;\n  int iStack_280;\n  int iStack_27c;\n  double dStack_278;\n  double dStack_270;\n  undefined8 uStack_268;\n  undefined8 uStack_260;\n  undefined8 uStack_258;\n  double dStack_250;\n  double dStack_248;\n  double dStack_240;\n  double dStack_238;\n  double dStack_230;\n  double dStack_218;\n  double dStack_210;\n  double dStack_208;\n  int *piStack_200;\n  int iStack_1fc;\n  undefined4 uStack_1f8;\n  int iStack_1f4;\n  undefined *puStack_1f0;\n  double *pdStack_1ec;\n  int *piStack_1e4;\n  undefined *puStack_1e0;\n  undefined *puStack_1dc;\n  double *pdStack_1d8;\n  int iStack_1d4;\n  double *pdStack_1d0;\n  double dStack_f0;\n  double *pdStack_e8;\n  double *local_a0;\n  undefined4 local_90;\n  undefined4 local_8c;\n  double local_88;\n  double local_80;\n  undefined8 local_78;\n  int *local_70;\n  undefined *local_6c;\n  int local_68;\n  undefined *local_64;\n  undefined4 *local_60;\n  undefined *local_54;\n  \n  puVar22 = PTR___stack_chk_guard_003a9230;\n  dVar31 = (double)CONCAT44(param_3,param_4);\n  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }\n  puVar24 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }\n  uVar3 = 0xc92;\n  pcVar25 = *(code **)(puVar24 + 0x2dcda8);\n  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;\n  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;\n  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);\n  dVar33 = (double)CONCAT44(uVar3,iVar15);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }\n  iVar2 = 0xd24;\n  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);\n  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);\n  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);\n  (*pcVar26)();\n  pcVar25 = pcVar26 + 0x2e35c0;\n  piVar21 = *(int **)(pcVar26 + 0x2dbf40);\n  pdStack_1d0 = pdStack_e8;\n  pdStack_1d8 = local_a0;\n  piStack_1e4 = (int *)*piVar21;\n  pcStack_2a0 = pcVar25;\n  puStack_1e0 = puVar22;\n  puStack_1dc = param_7;\n  iStack_1d4 = unaff_s3;\n  if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }\n  pcVar25 = *(code **)(pcVar25 + -0x784c);\n  pcVar26 = NegateImage;\n  (*pcVar25)();\n  piVar23 = *(int **)(pcVar25 + 0x2db428);\n  iStack_30c = *piVar23;\n  puStack_308 = puVar22;\n  piStack_304 = piVar21;\n  pdStack_300 = local_a0;\n  iStack_2fc = unaff_s3;\n  pdStack_2f8 = pdStack_e8;\n  piStack_2f4 = unaff_s5;\n  iStack_2f0 = unaff_s6;\n  piStack_2ec = unaff_s7;\n  iStack_2e8 = unaff_s8;\n  pcStack_2e4 = pcVar26;\n  dStack_2e0 = dVar31;\n  dStack_2d8 = param_5;\n  dStack_2d0 = dVar33;\n  if (piVar10 == (int *)0x0) goto LAB_000ce444;\n  if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }\n  (**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\nLAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);\n  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);\n  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();\n  return puVar22;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "double *pdVar4;" (primitive_type "double") (pointer_declarator "*pdVar4" (* "*") (identifier "pdVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "double *pdVar6;" (primitive_type "double") (pointer_declarator "*pdVar6" (* "*") (identifier "pdVar6")) (; ";")) (declaration "float *pfVar7;" (primitive_type "float") (pointer_declarator "*pfVar7" (* "*") (identifier "pfVar7")) (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "int extraout_v1_00;" (primitive_type "int") (identifier "extraout_v1_00") (; ";")) (declaration "int extraout_v1_01;" (primitive_type "int") (identifier "extraout_v1_01") (; ";")) (declaration "int extraout_v1_02;" (primitive_type "int") (identifier "extraout_v1_02") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int extraout_v1_03;" (primitive_type "int") (identifier "extraout_v1_03") (; ";")) (declaration "int extraout_v1_04;" (primitive_type "int") (identifier "extraout_v1_04") (; ";")) (declaration "int extraout_v1_05;" (primitive_type "int") (identifier "extraout_v1_05") (; ";")) (declaration "int extraout_v1_06;" (primitive_type "int") (identifier "extraout_v1_06") (; ";")) (declaration "int extraout_v1_07;" (primitive_type "int") (identifier "extraout_v1_07") (; ";")) (declaration "int extraout_v1_08;" (primitive_type "int") (identifier "extraout_v1_08") (; ";")) (declaration "int extraout_v1_09;" (primitive_type "int") (identifier "extraout_v1_09") (; ";")) (declaration "int extraout_v1_10;" (primitive_type "int") (identifier "extraout_v1_10") (; ";")) (declaration "int extraout_v1_11;" (primitive_type "int") (identifier "extraout_v1_11") (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "double *pdVar12;" (primitive_type "double") (pointer_declarator "*pdVar12" (* "*") (identifier "pdVar12")) (; ";")) (declaration "float *pfVar13;" (primitive_type "float") (pointer_declarator "*pfVar13" (* "*") (identifier "pfVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "int unaff_s3;" (primitive_type "int") (identifier "unaff_s3") (; ";")) (declaration "undefined *puVar22;" (type_identifier "undefined") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int *unaff_s5;" (primitive_type "int") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "int unaff_s6;" (primitive_type "int") (identifier "unaff_s6") (; ";")) (declaration "int *unaff_s7;" (primitive_type "int") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "undefined *puVar24;" (type_identifier "undefined") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "int unaff_s8;" (primitive_type "int") (identifier "unaff_s8") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "double dVar28;" (primitive_type "double") (identifier "dVar28") (; ";")) (declaration "double dVar29;" (primitive_type "double") (identifier "dVar29") (; ";")) (declaration "float fVar30;" (primitive_type "float") (identifier "fVar30") (; ";")) (declaration "double dVar31;" (primitive_type "double") (identifier "dVar31") (; ";")) (declaration "double dVar32;" (primitive_type "double") (identifier "dVar32") (; ";")) (declaration "double dVar33;" (primitive_type "double") (identifier "dVar33") (; ";")) (declaration "ulonglong uVar34;" (type_identifier "ulonglong") (identifier "uVar34") (; ";")) (declaration "double dVar35;" (primitive_type "double") (identifier "dVar35") (; ";")) (declaration "undefined8 uVar36;" (type_identifier "undefined8") (identifier "uVar36") (; ";")) (declaration "int iStack_328;" (primitive_type "int") (identifier "iStack_328") (; ";")) (declaration "uint uStack_324;" (type_identifier "uint") (identifier "uStack_324") (; ";")) (declaration "int *piStack_320;" (primitive_type "int") (pointer_declarator "*piStack_320" (* "*") (identifier "piStack_320")) (; ";")) (declaration "int iStack_31c;" (primitive_type "int") (identifier "iStack_31c") (; ";")) (declaration "undefined4 uStack_318;" (type_identifier "undefined4") (identifier "uStack_318") (; ";")) (declaration "undefined *puStack_314;" (type_identifier "undefined") (pointer_declarator "*puStack_314" (* "*") (identifier "puStack_314")) (; ";")) (declaration "int *piStack_310;" (primitive_type "int") (pointer_declarator "*piStack_310" (* "*") (identifier "piStack_310")) (; ";")) (declaration "int iStack_30c;" (primitive_type "int") (identifier "iStack_30c") (; ";")) (declaration "undefined *puStack_308;" (type_identifier "undefined") (pointer_declarator "*puStack_308" (* "*") (identifier "puStack_308")) (; ";")) (declaration "int *piStack_304;" (primitive_type "int") (pointer_declarator "*piStack_304" (* "*") (identifier "piStack_304")) (; ";")) (declaration "double *pdStack_300;" (primitive_type "double") (pointer_declarator "*pdStack_300" (* "*") (identifier "pdStack_300")) (; ";")) (declaration "int iStack_2fc;" (primitive_type "int") (identifier "iStack_2fc") (; ";")) (declaration "double *pdStack_2f8;" (primitive_type "double") (pointer_declarator "*pdStack_2f8" (* "*") (identifier "pdStack_2f8")) (; ";")) (declaration "int *piStack_2f4;" (primitive_type "int") (pointer_declarator "*piStack_2f4" (* "*") (identifier "piStack_2f4")) (; ";")) (declaration "int iStack_2f0;" (primitive_type "int") (identifier "iStack_2f0") (; ";")) (declaration "int *piStack_2ec;" (primitive_type "int") (pointer_declarator "*piStack_2ec" (* "*") (identifier "piStack_2ec")) (; ";")) (declaration "int iStack_2e8;" (primitive_type "int") (identifier "iStack_2e8") (; ";")) (declaration "code *pcStack_2e4;" (type_identifier "code") (pointer_declarator "*pcStack_2e4" (* "*") (identifier "pcStack_2e4")) (; ";")) (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 "undefined8 uStack_2b8;" (type_identifier "undefined8") (identifier "uStack_2b8") (; ";")) (declaration "double *pdStack_2b0;" (primitive_type "double") (pointer_declarator "*pdStack_2b0" (* "*") (identifier "pdStack_2b0")) (; ";")) (declaration "double *pdStack_2ac;" (primitive_type "double") (pointer_declarator "*pdStack_2ac" (* "*") (identifier "pdStack_2ac")) (; ";")) (declaration "double *pdStack_2a8;" (primitive_type "double") (pointer_declarator "*pdStack_2a8" (* "*") (identifier "pdStack_2a8")) (; ";")) (declaration "code *pcStack_2a0;" (type_identifier "code") (pointer_declarator "*pcStack_2a0" (* "*") (identifier "pcStack_2a0")) (; ";")) (declaration "int iStack_298;" (primitive_type "int") (identifier "iStack_298") (; ";")) (declaration "uint uStack_294;" (type_identifier "uint") (identifier "uStack_294") (; ";")) (declaration "undefined8 *puStack_290;" (type_identifier "undefined8") (pointer_declarator "*puStack_290" (* "*") (identifier "puStack_290")) (; ";")) (declaration "undefined8 *puStack_28c;" (type_identifier "undefined8") (pointer_declarator "*puStack_28c" (* "*") (identifier "puStack_28c")) (; ";")) (declaration "undefined8 *puStack_288;" (type_identifier "undefined8") (pointer_declarator "*puStack_288" (* "*") (identifier "puStack_288")) (; ";")) (declaration "double *pdStack_284;" (primitive_type "double") (pointer_declarator "*pdStack_284" (* "*") (identifier "pdStack_284")) (; ";")) (declaration "int iStack_280;" (primitive_type "int") (identifier "iStack_280") (; ";")) (declaration "int iStack_27c;" (primitive_type "int") (identifier "iStack_27c") (; ";")) (declaration "double dStack_278;" (primitive_type "double") (identifier "dStack_278") (; ";")) (declaration "double dStack_270;" (primitive_type "double") (identifier "dStack_270") (; ";")) (declaration "undefined8 uStack_268;" (type_identifier "undefined8") (identifier "uStack_268") (; ";")) (declaration "undefined8 uStack_260;" (type_identifier "undefined8") (identifier "uStack_260") (; ";")) (declaration "undefined8 uStack_258;" (type_identifier "undefined8") (identifier "uStack_258") (; ";")) (declaration "double dStack_250;" (primitive_type "double") (identifier "dStack_250") (; ";")) (declaration "double dStack_248;" (primitive_type "double") (identifier "dStack_248") (; ";")) (declaration "double dStack_240;" (primitive_type "double") (identifier "dStack_240") (; ";")) (declaration "double dStack_238;" (primitive_type "double") (identifier "dStack_238") (; ";")) (declaration "double dStack_230;" (primitive_type "double") (identifier "dStack_230") (; ";")) (declaration "double dStack_218;" (primitive_type "double") (identifier "dStack_218") (; ";")) (declaration "double dStack_210;" (primitive_type "double") (identifier "dStack_210") (; ";")) (declaration "double dStack_208;" (primitive_type "double") (identifier "dStack_208") (; ";")) (declaration "int *piStack_200;" (primitive_type "int") (pointer_declarator "*piStack_200" (* "*") (identifier "piStack_200")) (; ";")) (declaration "int iStack_1fc;" (primitive_type "int") (identifier "iStack_1fc") (; ";")) (declaration "undefined4 uStack_1f8;" (type_identifier "undefined4") (identifier "uStack_1f8") (; ";")) (declaration "int iStack_1f4;" (primitive_type "int") (identifier "iStack_1f4") (; ";")) (declaration "undefined *puStack_1f0;" (type_identifier "undefined") (pointer_declarator "*puStack_1f0" (* "*") (identifier "puStack_1f0")) (; ";")) (declaration "double *pdStack_1ec;" (primitive_type "double") (pointer_declarator "*pdStack_1ec" (* "*") (identifier "pdStack_1ec")) (; ";")) (declaration "int *piStack_1e4;" (primitive_type "int") (pointer_declarator "*piStack_1e4" (* "*") (identifier "piStack_1e4")) (; ";")) (declaration "undefined *puStack_1e0;" (type_identifier "undefined") (pointer_declarator "*puStack_1e0" (* "*") (identifier "puStack_1e0")) (; ";")) (declaration "undefined *puStack_1dc;" (type_identifier "undefined") (pointer_declarator "*puStack_1dc" (* "*") (identifier "puStack_1dc")) (; ";")) (declaration "double *pdStack_1d8;" (primitive_type "double") (pointer_declarator "*pdStack_1d8" (* "*") (identifier "pdStack_1d8")) (; ";")) (declaration "int iStack_1d4;" (primitive_type "int") (identifier "iStack_1d4") (; ";")) (declaration "double *pdStack_1d0;" (primitive_type "double") (pointer_declarator "*pdStack_1d0" (* "*") (identifier "pdStack_1d0")) (; ";")) (declaration "double dStack_f0;" (primitive_type "double") (identifier "dStack_f0") (; ";")) (declaration "double *pdStack_e8;" (primitive_type "double") (pointer_declarator "*pdStack_e8" (* "*") (identifier "pdStack_e8")) (; ";")) (declaration "double *local_a0;" (primitive_type "double") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0")) (; ";")) (declaration "undefined4 local_90;" (type_identifier "undefined4") (identifier "local_90") (; ";")) (declaration "undefined4 local_8c;" (type_identifier "undefined4") (identifier "local_8c") (; ";")) (declaration "double local_88;" (primitive_type "double") (identifier "local_88") (; ";")) (declaration "double local_80;" (primitive_type "double") (identifier "local_80") (; ";")) (declaration "undefined8 local_78;" (type_identifier "undefined8") (identifier "local_78") (; ";")) (declaration "int *local_70;" (primitive_type "int") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "undefined *local_6c;" (type_identifier "undefined") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "int local_68;" (primitive_type "int") (identifier "local_68") (; ";")) (declaration "undefined *local_64;" (type_identifier "undefined") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined4 *local_60;" (type_identifier "undefined4") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined *local_54;" (type_identifier "undefined") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (expression_statement "puVar22 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar22 = PTR___stack_chk_guard_003a9230" (identifier "puVar22") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "dVar31 = (double)CONCAT44(param_3,param_4);" (assignment_expression "dVar31 = (double)CONCAT44(param_3,param_4)" (identifier "dVar31") (= "=") (cast_expression "(double)CONCAT44(param_3,param_4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(param_3,param_4)" (identifier "CONCAT44") (argument_list "(param_3,param_4)" (( "(") (identifier "param_3") (, ",") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_54 = *(undefined **)PTR___stack_chk_guard_003a9230" (identifier "local_54") (= "=") (pointer_expression "*(undefined **)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(undefined **)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }\n  else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);\nLAB_000cc830:\n    iVar2 = 0xc0b;\n    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;\n    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);\n    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;\n    (*(code *)PTR___assert_fail_003a9608)();\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xdd0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x5060")) (, ",") (number_literal "0xc0a") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x5480")) () ")"))) (; ";")) (labeled_statement "LAB_000cc830:\n    iVar2 = 0xc0b;" (statement_identifier "LAB_000cc830") (: ":") (expression_statement "iVar2 = 0xc0b;" (assignment_expression "iVar2 = 0xc0b" (identifier "iVar2") (= "=") (number_literal "0xc0b")) (; ";"))) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" (identifier "puVar14") (= "=") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x5480"))) (; ";")) (expression_statement "pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);" (assignment_expression "pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" (identifier "pdVar4") (= "=") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x5060")) () ")")))) (; ";")) (expression_statement "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;" (assignment_expression "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" (identifier "puVar9") (= "=") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3784"))) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" (else "else") (compound_statement "{\n    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;\n    if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }\n    if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }\n    local_8c = 0;\n    local_90 = 0;\n    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);\n    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);\n    if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }\nLAB_000cc440:\n    puVar14 = (undefined *)0x0;\n    local_64 = (undefined *)0x1;\n    local_60 = &local_90;\n    pdVar4 = &local_88;\n    local_6c = param_7;\n    local_88 = dVar31;\n    local_80 = param_5;\n    local_78 = param_6;\n    local_70 = param_1;\n    local_68 = unaff_s3;\n    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);\n    param_7 = local_64;\n    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);\n    puVar9 = local_54;\n    if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }\n  }" ({ "{") (if_statement "if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;" (if "if") (parenthesized_expression "(param_1[0xcdb] != -0x54535255)" (( "(") (binary_expression "param_1[0xcdb] != -0x54535255" (subscript_expression "param_1[0xcdb]" (identifier "param_1") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_000cc830;" (goto "goto") (statement_identifier "LAB_000cc830") (; ";"))) (if_statement "if (param_1[0xcd4] != 0) {\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" (if "if") (parenthesized_expression "(param_1[0xcd4] != 0)" (( "(") (binary_expression "param_1[0xcd4] != 0" (subscript_expression "param_1[0xcd4]" (identifier "param_1") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);\n    }" ({ "{") (expression_statement "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" (identifier "local_a0") (= "=") (cast_expression "(double *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,\n                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x5060")) (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x5470")) (, ",") (number_literal "0xc0d") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*param_1 == 2) && (0 < param_1[9])) {\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }" (if "if") (parenthesized_expression "((*param_1 == 2) && (0 < param_1[9]))" (( "(") (binary_expression "(*param_1 == 2) && (0 < param_1[9])" (parenthesized_expression "(*param_1 == 2)" (( "(") (binary_expression "*param_1 == 2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(0 < param_1[9])" (( "(") (binary_expression "0 < param_1[9]" (number_literal "0") (< "<") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) () ")"))) () ")")) (compound_statement "{\n      iVar2 = 0;\n      iVar15 = 0;\n      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n      unaff_s7 = SUB84(dVar29,0);\n      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);\n      dVar33 = dVar29;\n      dVar32 = dVar29;\n      dVar35 = dVar29;\n      do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);\n    }" ({ "{") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" (identifier "dVar29") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1440" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1440")) () ")"))))) (; ";")) (expression_statement "unaff_s7 = SUB84(dVar29,0);" (assignment_expression "unaff_s7 = SUB84(dVar29,0)" (identifier "unaff_s7") (= "=") (call_expression "SUB84(dVar29,0)" (identifier "SUB84") (argument_list "(dVar29,0)" (( "(") (identifier "dVar29") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);" (assignment_expression "unaff_s6 = (int)((ulonglong)dVar29 >> 0x20)" (identifier "unaff_s6") (= "=") (cast_expression "(int)((ulonglong)dVar29 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)dVar29 >> 0x20)" (( "(") (binary_expression "(ulonglong)dVar29 >> 0x20" (cast_expression "(ulonglong)dVar29" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "dVar29")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "dVar33 = dVar29;" (assignment_expression "dVar33 = dVar29" (identifier "dVar33") (= "=") (identifier "dVar29")) (; ";")) (expression_statement "dVar32 = dVar29;" (assignment_expression "dVar32 = dVar29" (identifier "dVar32") (= "=") (identifier "dVar29")) (; ";")) (expression_statement "dVar35 = dVar29;" (assignment_expression "dVar35 = dVar29" (identifier "dVar35") (= "=") (identifier "dVar29")) (; ";")) (do_statement "do {\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      } while (iVar15 < param_1[9]);" (do "do") (compound_statement "{\n        iVar20 = param_1[0xb4];\n        if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }\n        iVar15 = iVar15 + 1;\n        iVar2 = iVar2 + 0x58;\n      }" ({ "{") (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" (identifier "iVar20") (= "=") (subscript_expression "param_1[0xb4]" (identifier "param_1") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if ((*(uint *)(iVar20 + 4) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar20 + 4) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar20 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 4) & 2)" (( "(") (binary_expression "*(uint *)(iVar20 + 4) & 2" (pointer_expression "*(uint *)(iVar20 + 4)" (* "*") (cast_expression "(uint *)(iVar20 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 4)" (( "(") (binary_expression "iVar20 + 4" (identifier "iVar20") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" ({ "{") (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" (identifier "iVar5") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "dVar28 = *(double *)(iVar5 + 0x28) * dVar33;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x28) * dVar33" (identifier "dVar28") (= "=") (binary_expression "*(double *)(iVar5 + 0x28) * dVar33" (pointer_expression "*(double *)(iVar5 + 0x28)" (* "*") (cast_expression "(double *)(iVar5 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (* "*") (identifier "dVar33"))) (; ";")) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" (if "if") (parenthesized_expression "(0.0 <= dVar28)" (( "(") (binary_expression "0.0 <= dVar28" (number_literal "0.0") (<= "<=") (identifier "dVar28")) () ")")) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" ({ "{") (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (identifier "dVar28") (= "=") (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" (( "(") (pointer_expression "*(code *)PTR_pow_003a971c" (* "*") (cast_expression "(code *)PTR_pow_003a971c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pow_003a971c"))) () ")")) (argument_list "(dVar28,param_6)" (( "(") (identifier "dVar28") (, ",") (identifier "param_6") () ")"))))) (; ";")) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" (identifier "iVar20") (= "=") (subscript_expression "param_1[0xb4]" (identifier "param_1") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" (identifier "iVar5") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (} "}"))) (expression_statement "*(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x28)" (* "*") (cast_expression "(double *)(iVar5 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" (( "(") (binary_expression "param_5 - dVar31" (identifier "param_5") (- "-") (identifier "dVar31")) () ")")) (* "*") (identifier "dVar28")) (+ "+") (identifier "dVar31")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar20 + 0x10) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar20 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar20 + 0x10) & 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" (* "*") (cast_expression "(uint *)(iVar20 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x10)" (( "(") (binary_expression "iVar20 + 0x10" (identifier "iVar20") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" ({ "{") (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" (identifier "iVar5") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "dVar28 = *(double *)(iVar5 + 0x30) * dVar32;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x30) * dVar32" (identifier "dVar28") (= "=") (binary_expression "*(double *)(iVar5 + 0x30) * dVar32" (pointer_expression "*(double *)(iVar5 + 0x30)" (* "*") (cast_expression "(double *)(iVar5 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x30)" (( "(") (binary_expression "iVar5 + 0x30" (identifier "iVar5") (+ "+") (number_literal "0x30")) () ")")))) (* "*") (identifier "dVar32"))) (; ";")) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" (if "if") (parenthesized_expression "(0.0 <= dVar28)" (( "(") (binary_expression "0.0 <= dVar28" (number_literal "0.0") (<= "<=") (identifier "dVar28")) () ")")) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" ({ "{") (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (identifier "dVar28") (= "=") (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" (( "(") (pointer_expression "*(code *)PTR_pow_003a971c" (* "*") (cast_expression "(code *)PTR_pow_003a971c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pow_003a971c"))) () ")")) (argument_list "(dVar28,param_6)" (( "(") (identifier "dVar28") (, ",") (identifier "param_6") () ")"))))) (; ";")) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" (identifier "iVar20") (= "=") (subscript_expression "param_1[0xb4]" (identifier "param_1") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" (identifier "iVar5") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (} "}"))) (expression_statement "*(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x30)" (* "*") (cast_expression "(double *)(iVar5 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x30)" (( "(") (binary_expression "iVar5 + 0x30" (identifier "iVar5") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" (( "(") (binary_expression "param_5 - dVar31" (identifier "param_5") (- "-") (identifier "dVar31")) () ")")) (* "*") (identifier "dVar28")) (+ "+") (identifier "dVar31")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar20 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar20 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x1c) & 2)" (( "(") (binary_expression "*(uint *)(iVar20 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar20 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar20 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x1c)" (( "(") (binary_expression "iVar20 + 0x1c" (identifier "iVar20") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" ({ "{") (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" (identifier "iVar5") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "dVar28 = *(double *)(iVar5 + 0x38) * dVar35;" (assignment_expression "dVar28 = *(double *)(iVar5 + 0x38) * dVar35" (identifier "dVar28") (= "=") (binary_expression "*(double *)(iVar5 + 0x38) * dVar35" (pointer_expression "*(double *)(iVar5 + 0x38)" (* "*") (cast_expression "(double *)(iVar5 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (identifier "dVar35"))) (; ";")) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" (if "if") (parenthesized_expression "(0.0 <= dVar28)" (( "(") (binary_expression "0.0 <= dVar28" (number_literal "0.0") (<= "<=") (identifier "dVar28")) () ")")) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[0xb4];\n            iVar5 = param_1[10] + iVar2;\n          }" ({ "{") (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (identifier "dVar28") (= "=") (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" (( "(") (pointer_expression "*(code *)PTR_pow_003a971c" (* "*") (cast_expression "(code *)PTR_pow_003a971c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pow_003a971c"))) () ")")) (argument_list "(dVar28,param_6)" (( "(") (identifier "dVar28") (, ",") (identifier "param_6") () ")"))))) (; ";")) (expression_statement "iVar20 = param_1[0xb4];" (assignment_expression "iVar20 = param_1[0xb4]" (identifier "iVar20") (= "=") (subscript_expression "param_1[0xb4]" (identifier "param_1") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "iVar5 = param_1[10] + iVar2;" (assignment_expression "iVar5 = param_1[10] + iVar2" (identifier "iVar5") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (} "}"))) (expression_statement "*(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar5 + 0x38)" (* "*") (cast_expression "(double *)(iVar5 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" (( "(") (binary_expression "param_5 - dVar31" (identifier "param_5") (- "-") (identifier "dVar31")) () ")")) (* "*") (identifier "dVar28")) (+ "+") (identifier "dVar31")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar20 + 0x34) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar20 + 0x34) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar20 + 0x34) & 2)" (( "(") (binary_expression "*(uint *)(iVar20 + 0x34) & 2" (pointer_expression "*(uint *)(iVar20 + 0x34)" (* "*") (cast_expression "(uint *)(iVar20 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x34)" (( "(") (binary_expression "iVar20 + 0x34" (identifier "iVar20") (+ "+") (number_literal "0x34")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar20 = param_1[10] + iVar2;\n          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;\n          if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }\n          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);\n        }" ({ "{") (expression_statement "iVar20 = param_1[10] + iVar2;" (assignment_expression "iVar20 = param_1[10] + iVar2" (identifier "iVar20") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "dVar28 = *(double *)(iVar20 + 0x48) * dVar29;" (assignment_expression "dVar28 = *(double *)(iVar20 + 0x48) * dVar29" (identifier "dVar28") (= "=") (binary_expression "*(double *)(iVar20 + 0x48) * dVar29" (pointer_expression "*(double *)(iVar20 + 0x48)" (* "*") (cast_expression "(double *)(iVar20 + 0x48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x48)" (( "(") (binary_expression "iVar20 + 0x48" (identifier "iVar20") (+ "+") (number_literal "0x48")) () ")")))) (* "*") (identifier "dVar29"))) (; ";")) (if_statement "if (0.0 <= dVar28) {\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }" (if "if") (parenthesized_expression "(0.0 <= dVar28)" (( "(") (binary_expression "0.0 <= dVar28" (number_literal "0.0") (<= "<=") (identifier "dVar28")) () ")")) (compound_statement "{\n            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);\n            iVar20 = param_1[10] + iVar2;\n          }" ({ "{") (expression_statement "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);" (assignment_expression "dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (identifier "dVar28") (= "=") (cast_expression "(double)(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_pow_003a971c)(dVar28,param_6)" (parenthesized_expression "(*(code *)PTR_pow_003a971c)" (( "(") (pointer_expression "*(code *)PTR_pow_003a971c" (* "*") (cast_expression "(code *)PTR_pow_003a971c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pow_003a971c"))) () ")")) (argument_list "(dVar28,param_6)" (( "(") (identifier "dVar28") (, ",") (identifier "param_6") () ")"))))) (; ";")) (expression_statement "iVar20 = param_1[10] + iVar2;" (assignment_expression "iVar20 = param_1[10] + iVar2" (identifier "iVar20") (= "=") (binary_expression "param_1[10] + iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar2"))) (; ";")) (} "}"))) (expression_statement "*(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);" (assignment_expression "*(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (pointer_expression "*(double *)(iVar20 + 0x48)" (* "*") (cast_expression "(double *)(iVar20 + 0x48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x48)" (( "(") (binary_expression "iVar20 + 0x48" (identifier "iVar20") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (cast_expression "(double)(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((param_5 - dVar31) * dVar28 + dVar31)" (( "(") (binary_expression "(param_5 - dVar31) * dVar28 + dVar31" (binary_expression "(param_5 - dVar31) * dVar28" (parenthesized_expression "(param_5 - dVar31)" (( "(") (binary_expression "param_5 - dVar31" (identifier "param_5") (- "-") (identifier "dVar31")) () ")")) (* "*") (identifier "dVar28")) (+ "+") (identifier "dVar31")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar2 = iVar2 + 0x58;" (assignment_expression "iVar2 = iVar2 + 0x58" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 0x58" (identifier "iVar2") (+ "+") (number_literal "0x58"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 < param_1[9])" (( "(") (binary_expression "iVar15 < param_1[9]" (identifier "iVar15") (< "<") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);" (assignment_expression "unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7)" (identifier "unaff_s3") (= "=") (call_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7)" (parenthesized_expression "(*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)" (( "(") (pointer_expression "*(code *)PTR_AcquireAuthenticCacheView_003a8ed4" (* "*") (cast_expression "(code *)PTR_AcquireAuthenticCacheView_003a8ed4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireAuthenticCacheView_003a8ed4"))) () ")")) (argument_list "(param_1,param_7)" (( "(") (identifier "param_1") (, ",") (identifier "param_7") () ")")))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }\n    else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" (if "if") (parenthesized_expression "(((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))))" (( "(") (binary_expression "((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&\n       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 4) ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))" (( "(") (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3))" (( "(") (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar2 == 4 ||\n        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3" (assignment_expression "iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1)" (parenthesized_expression "(*(code *)PTR_GetImagePixelCacheType_003a94b4)" (( "(") (pointer_expression "*(code *)PTR_GetImagePixelCacheType_003a94b4" (* "*") (cast_expression "(code *)PTR_GetImagePixelCacheType_003a94b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetImagePixelCacheType_003a94b4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      iVar15 = param_1[7];\n      iVar2 = iVar15;\n      if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }\n      if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }\n      iVar2 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }\n    }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar15 = param_1[7];" (assignment_expression "iVar15 = param_1[7]" (identifier "iVar15") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar2 = iVar15;" (assignment_expression "iVar2 = iVar15" (identifier "iVar2") (= "=") (identifier "iVar15")) (; ";")) (if_statement "if (iVar15 < 0) {\n        iVar2 = iVar15 + 0x3f;\n      }" (if "if") (parenthesized_expression "(iVar15 < 0)" (( "(") (binary_expression "iVar15 < 0" (identifier "iVar15") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar2 = iVar15 + 0x3f;\n      }" ({ "{") (expression_statement "iVar2 = iVar15 + 0x3f;" (assignment_expression "iVar2 = iVar15 + 0x3f" (identifier "iVar2") (= "=") (binary_expression "iVar15 + 0x3f" (identifier "iVar15") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (if_statement "if (extraout_v1 < iVar2 >> 6) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }\n      else {\n        bVar1 = iVar15 < 0x80;\n      }" (if "if") (parenthesized_expression "(extraout_v1 < iVar2 >> 6)" (( "(") (binary_expression "extraout_v1 < iVar2 >> 6" (identifier "extraout_v1") (< "<") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        bVar1 = extraout_v1_02 < 2;\n      }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_02 < 2;" (assignment_expression "bVar1 = extraout_v1_02 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_02 < 2" (identifier "extraout_v1_02") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n        bVar1 = iVar15 < 0x80;\n      }" (else "else") (compound_statement "{\n        bVar1 = iVar15 < 0x80;\n      }" ({ "{") (expression_statement "bVar1 = iVar15 < 0x80;" (assignment_expression "bVar1 = iVar15 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar15 < 0x80" (identifier "iVar15") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" (if "if") (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = param_1[7];\n        if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }\n        iVar2 = iVar2 >> 6;\n        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;\n      }" ({ "{") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = param_1[7];" (assignment_expression "iVar2 = param_1[7]" (identifier "iVar2") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (iVar2 < 0) {\n          iVar2 = iVar2 + 0x3f;\n        }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar2 = iVar2 + 0x3f;\n        }" ({ "{") (expression_statement "iVar2 = iVar2 + 0x3f;" (assignment_expression "iVar2 = iVar2 + 0x3f" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 0x3f" (identifier "iVar2") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar2 = iVar2 >> 6;" (assignment_expression "iVar2 = iVar2 >> 6" (identifier "iVar2") (= "=") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;" (if "if") (parenthesized_expression "(extraout_v1_01 < iVar2)" (( "(") (binary_expression "extraout_v1_01 < iVar2" (identifier "extraout_v1_01") (< "<") (identifier "iVar2")) () ")")) (goto_statement "goto LAB_000cc7ac;" (goto "goto") (statement_identifier "LAB_000cc7ac") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" (else "else") (compound_statement "{\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }\n      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }\n    }" ({ "{") (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar36") (= "=") (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }\n      }" ({ "{") (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar36") (= "=") (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          iVar2 = 1;\n          goto LAB_000cc440;\n        }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000cc440;" (goto "goto") (statement_identifier "LAB_000cc440") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (assignment_expression "uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (identifier "uVar36") (= "=") (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }\n      else {\n        iVar2 = 2;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\nLAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);\n        iVar2 = extraout_v1_00;\n      }" ({ "{") (labeled_statement "LAB_000cc7ac:\n        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (statement_identifier "LAB_000cc7ac") (: ":") (expression_statement "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7);" (call_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)(7)" (parenthesized_expression "(*(code *)PTR_GetMagickResourceLimit_003a913c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickResourceLimit_003a913c" (* "*") (cast_expression "(code *)PTR_GetMagickResourceLimit_003a913c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickResourceLimit_003a913c"))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "iVar2 = extraout_v1_00;" (assignment_expression "iVar2 = extraout_v1_00" (identifier "iVar2") (= "=") (identifier "extraout_v1_00")) (; ";")) (} "}")) (else_clause "else {\n        iVar2 = 2;\n      }" (else "else") (compound_statement "{\n        iVar2 = 2;\n      }" ({ "{") (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" (identifier "iVar2") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000cc440:\n    puVar14 = (undefined *)0x0;" (statement_identifier "LAB_000cc440") (: ":") (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" (identifier "puVar14") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_64 = (undefined *)0x1;" (assignment_expression "local_64 = (undefined *)0x1" (identifier "local_64") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_60 = &local_90;" (assignment_expression "local_60 = &local_90" (identifier "local_60") (= "=") (pointer_expression "&local_90" (& "&") (identifier "local_90"))) (; ";")) (expression_statement "pdVar4 = &local_88;" (assignment_expression "pdVar4 = &local_88" (identifier "pdVar4") (= "=") (pointer_expression "&local_88" (& "&") (identifier "local_88"))) (; ";")) (expression_statement "local_6c = param_7;" (assignment_expression "local_6c = param_7" (identifier "local_6c") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_88 = dVar31;" (assignment_expression "local_88 = dVar31" (identifier "local_88") (= "=") (identifier "dVar31")) (; ";")) (expression_statement "local_80 = param_5;" (assignment_expression "local_80 = param_5" (identifier "local_80") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_78 = param_6;" (assignment_expression "local_78 = param_6" (identifier "local_78") (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_70 = param_1;" (assignment_expression "local_70 = param_1" (identifier "local_70") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_68 = unaff_s3;" (assignment_expression "local_68 = unaff_s3" (identifier "local_68") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);" (call_expression "(*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c)" (parenthesized_expression "(*(code *)PTR_GOMP_parallel_003a9198)" (( "(") (pointer_expression "*(code *)PTR_GOMP_parallel_003a9198" (* "*") (cast_expression "(code *)PTR_GOMP_parallel_003a9198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GOMP_parallel_003a9198"))) () ")")) (argument_list "(PTR_LAB_003a8a64 + 0x305c)" (( "(") (binary_expression "PTR_LAB_003a8a64 + 0x305c" (identifier "PTR_LAB_003a8a64") (+ "+") (number_literal "0x305c")) () ")"))) (; ";")) (expression_statement "param_7 = local_64;" (assignment_expression "param_7 = local_64" (identifier "param_7") (= "=") (identifier "local_64")) (; ";")) (expression_statement "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);" (call_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3)" (parenthesized_expression "(*(code *)PTR_DestroyCacheView_003a8ef4)" (( "(") (pointer_expression "*(code *)PTR_DestroyCacheView_003a8ef4" (* "*") (cast_expression "(code *)PTR_DestroyCacheView_003a8ef4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyCacheView_003a8ef4"))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (expression_statement "puVar9 = local_54;" (assignment_expression "puVar9 = local_54" (identifier "puVar9") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (local_54 == *(undefined **)puVar22) {\n      return param_7;\n    }" (if "if") (parenthesized_expression "(local_54 == *(undefined **)puVar22)" (( "(") (binary_expression "local_54 == *(undefined **)puVar22" (identifier "local_54") (== "==") (pointer_expression "*(undefined **)puVar22" (* "*") (cast_expression "(undefined **)puVar22" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar22")))) () ")")) (compound_statement "{\n      return param_7;\n    }" ({ "{") (return_statement "return param_7;" (return "return") (identifier "param_7") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar24 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar24 = PTR___stack_chk_fail_003a9064" (identifier "puVar24") (= "=") (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 "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar9 != (undefined *)0x0) {\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }" (if "if") (parenthesized_expression "(puVar9 != (undefined *)0x0)" (( "(") (binary_expression "puVar9 != (undefined *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }\n    (**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);\n    puVar22 = puVar9;\n  }" ({ "{") (if_statement "if (*(int *)(puVar9 + 0x336c) == -0x54535255) {\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar9 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar9 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar9 + 0x336c)" (* "*") (cast_expression "(int *)(puVar9 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x336c)" (( "(") (binary_expression "puVar9 + 0x336c" (identifier "puVar9") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }\n      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }\n      pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n      if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }\n      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }\n      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }\n      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n      pcVar25 = *(code **)(puVar24 + 0x2dca10);\nLAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);\n      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n      return (undefined *)((uint)puVar22 & uVar8);\n    }" ({ "{") (if_statement "if (*(int *)(puVar9 + 0x3350) != 0) {\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar9 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(puVar9 + 0x3350) != 0" (pointer_expression "*(int *)(puVar9 + 0x3350)" (* "*") (cast_expression "(int *)(puVar9 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x3350)" (( "(") (binary_expression "puVar9 + 0x3350" (identifier "puVar9") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);\n      }" ({ "{") (expression_statement "(**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);" (call_expression "(**(code **)(puVar24 + 0x2dc980))\n                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc980))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dc980)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dc980)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc980)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc980)" (( "(") (binary_expression "puVar24 + 0x2dc980" (identifier "puVar24") (+ "+") (number_literal "0x2dc980")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,\n                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc088)" (( "(") (binary_expression "puVar24 + 0x2dc088" (identifier "puVar24") (+ "+") (number_literal "0x2dc088")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5448" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc088)" (( "(") (binary_expression "puVar24 + 0x2dc088" (identifier "puVar24") (+ "+") (number_literal "0x2dc088")) () ")")))) (+ "+") (number_literal "0x5448")) (, ",") (number_literal "0xc95") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }\n      else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" (if "if") (parenthesized_expression "((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3))" (( "(") (binary_expression "(*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)" (parenthesized_expression "(*(int *)(puVar9 + 4) == 0x21)" (( "(") (binary_expression "*(int *)(puVar9 + 4) == 0x21" (pointer_expression "*(int *)(puVar9 + 4)" (* "*") (cast_expression "(int *)(puVar9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 4)" (( "(") (binary_expression "puVar9 + 4" (identifier "puVar9") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0x21")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(puVar9 + 4) == 3)" (( "(") (binary_expression "*(int *)(puVar9 + 4) == 3" (pointer_expression "*(int *)(puVar9 + 4)" (* "*") (cast_expression "(int *)(puVar9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 4)" (( "(") (binary_expression "puVar9 + 4" (identifier "puVar9") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }\nLAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" ({ "{") (if_statement "if ((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" (if "if") (parenthesized_expression "((*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3))" (( "(") (binary_expression "(*(int *)((int)pdVar4 + 4) == 0x21) ||\n           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)" (parenthesized_expression "(*(int *)((int)pdVar4 + 4) == 0x21)" (( "(") (binary_expression "*(int *)((int)pdVar4 + 4) == 0x21" (pointer_expression "*(int *)((int)pdVar4 + 4)" (* "*") (cast_expression "(int *)((int)pdVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar4 + 4)" (( "(") (binary_expression "(int)pdVar4 + 4" (cast_expression "(int)pdVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar4")) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0x21")) () ")")) (|| "||") (parenthesized_expression "(pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)" (( "(") (comma_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dc4e0)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc4e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc4e0)" (( "(") (binary_expression "puVar24 + 0x2dc4e0" (identifier "puVar24") (+ "+") (number_literal "0x2dc4e0")) () ")"))))) (, ",") (binary_expression "*(int *)((int)pdVar4 + 4) == 3" (pointer_expression "*(int *)((int)pdVar4 + 4)" (* "*") (cast_expression "(int *)((int)pdVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar4 + 4)" (( "(") (binary_expression "(int)pdVar4 + 4" (cast_expression "(int)pdVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar4")) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;\n          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);\n          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n          goto LAB_000cc8dc;\n        }" ({ "{") (if_statement "if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 4) == 0x21)" (( "(") (binary_expression "*(int *)(iVar2 + 4) == 0x21" (pointer_expression "*(int *)(iVar2 + 4)" (* "*") (cast_expression "(int *)(iVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0x21")) () ")")) (goto_statement "goto LAB_000cc8d8;" (goto "goto") (statement_identifier "LAB_000cc8d8") (; ";"))) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dc4e0);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc4e0)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dc4e0)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc4e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc4e0)" (( "(") (binary_expression "puVar24 + 0x2dc4e0" (identifier "puVar24") (+ "+") (number_literal "0x2dc4e0")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 4) != 3)" (( "(") (binary_expression "*(int *)(iVar2 + 4) != 3" (pointer_expression "*(int *)(iVar2 + 4)" (* "*") (cast_expression "(int *)(iVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_000cc988;" (goto "goto") (statement_identifier "LAB_000cc988") (; ";"))) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (goto_statement "goto LAB_000cc8dc;" (goto "goto") (statement_identifier "LAB_000cc8dc") (; ";")) (} "}"))) (labeled_statement "LAB_000cc988:\n        (*pcVar25)(puVar9,0x17,local_a0);" (statement_identifier "LAB_000cc988") (: ":") (expression_statement "(*pcVar25)(puVar9,0x17,local_a0);" (call_expression "(*pcVar25)(puVar9,0x17,local_a0)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar9,0x17,local_a0)" (( "(") (identifier "puVar9") (, ",") (number_literal "0x17") (, ",") (identifier "local_a0") () ")"))) (; ";"))) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar8 = *(uint *)(iVar2 + 4)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar2 + 4)" (* "*") (cast_expression "(uint *)(iVar2 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" (else "else") (compound_statement "{\nLAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);\nLAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);\n      }" ({ "{") (labeled_statement "LAB_000cc8d8:\n        iVar2 = *(int *)(puVar9 + 0x2d0);" (statement_identifier "LAB_000cc8d8") (: ":") (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";"))) (labeled_statement "LAB_000cc8dc:\n        uVar8 = *(uint *)(iVar2 + 4);" (statement_identifier "LAB_000cc8dc") (: ":") (expression_statement "uVar8 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar8 = *(uint *)(iVar2 + 4)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar2 + 4)" (* "*") (cast_expression "(uint *)(iVar2 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if (puVar14 != (undefined *)0x0) {\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }" (if "if") (parenthesized_expression "(puVar14 != (undefined *)0x0)" (( "(") (binary_expression "puVar14 != (undefined *)0x0" (identifier "puVar14") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }\n        if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);\n        pcVar25 = *(code **)(puVar24 + 0x2dc848);\n        goto LAB_000cca38;\n      }" ({ "{") (if_statement "if ((uVar8 & 2) == 0) {\n          puVar22 = (undefined *)0x1;\n        }\n        else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" (if "if") (parenthesized_expression "((uVar8 & 2) == 0)" (( "(") (binary_expression "(uVar8 & 2) == 0" (parenthesized_expression "(uVar8 & 2)" (( "(") (binary_expression "uVar8 & 2" (identifier "uVar8") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          puVar22 = (undefined *)0x1;\n        }" ({ "{") (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" (identifier "puVar22") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" (else "else") (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)(uVar8 & 1);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,1)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,1)" (( "(") (identifier "puVar9") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dc848)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dc848)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc848)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc848)" (( "(") (binary_expression "puVar24 + 0x2dc848" (identifier "puVar24") (+ "+") (number_literal "0x2dc848")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)(uVar8 & 1);" (assignment_expression "puVar22 = (undefined *)(uVar8 & 1)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)(uVar8 & 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 & 1)" (( "(") (binary_expression "uVar8 & 1" (identifier "uVar8") (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,2)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,2)" (( "(") (identifier "puVar9") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dc848)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dc848)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc848)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc848)" (( "(") (binary_expression "puVar24 + 0x2dc848" (identifier "puVar24") (+ "+") (number_literal "0x2dc848")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((uint)puVar22 & uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar22 & uVar8)" (( "(") (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar22")) (& "&") (identifier "uVar8")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,4)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,4)" (( "(") (identifier "puVar9") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dc848)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dc848)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc848)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc848)" (( "(") (binary_expression "puVar24 + 0x2dc848" (identifier "puVar24") (+ "+") (number_literal "0x2dc848")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((uint)puVar22 & uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar22 & uVar8)" (( "(") (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar22")) (& "&") (identifier "uVar8")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" (if "if") (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2))" (( "(") (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" (* "*") (cast_expression "(uint *)(iVar2 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x28)" (( "(") (binary_expression "iVar2 + 0x28" (identifier "iVar2") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar9 + 4) == 2)" (( "(") (binary_expression "*(int *)(puVar9 + 4) == 2" (pointer_expression "*(int *)(puVar9 + 4)" (* "*") (cast_expression "(int *)(puVar9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 4)" (( "(") (binary_expression "puVar9 + 4" (identifier "puVar9") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,8)" (( "(") (identifier "puVar9") (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dc848))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dc848))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dc848)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dc848)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc848)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc848)" (( "(") (binary_expression "puVar24 + 0x2dc848" (identifier "puVar24") (+ "+") (number_literal "0x2dc848")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((uint)puVar22 & uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar22 & uVar8)" (( "(") (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar22")) (& "&") (identifier "uVar8")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {\n          return puVar22;\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" (* "*") (cast_expression "(uint *)(iVar2 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x34)" (( "(") (binary_expression "iVar2 + 0x34" (identifier "iVar2") (+ "+") (number_literal "0x34")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return puVar22;\n        }" ({ "{") (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar9 + 700) == 0) {\n          return puVar22;\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar9 + 700) == 0)" (( "(") (binary_expression "*(int *)(puVar9 + 700) == 0" (pointer_expression "*(int *)(puVar9 + 700)" (* "*") (cast_expression "(int *)(puVar9 + 700)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 700)" (( "(") (binary_expression "puVar9 + 700" (identifier "puVar9") (+ "+") (number_literal "700")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return puVar22;\n        }" ({ "{") (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}"))) (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,0x10)" (( "(") (identifier "puVar9") (, ",") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dc848);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dc848)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dc848)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dc848)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dc848)" (( "(") (binary_expression "puVar24 + 0x2dc848" (identifier "puVar24") (+ "+") (number_literal "0x2dc848")) () ")"))))) (; ";")) (goto_statement "goto LAB_000cca38;" (goto "goto") (statement_identifier "LAB_000cca38") (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) (; ";")) (if_statement "if ((uVar8 & 2) == 0) {\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }\n      else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" (if "if") (parenthesized_expression "((uVar8 & 2) == 0)" (( "(") (binary_expression "(uVar8 & 2) == 0" (parenthesized_expression "(uVar8 & 2)" (( "(") (binary_expression "uVar8 & 2" (identifier "uVar8") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar22 = (undefined *)0x1;\n        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;\nLAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;\n      }" ({ "{") (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" (identifier "puVar22") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ccc54;" (goto "goto") (statement_identifier "LAB_000ccc54") (; ";"))) (labeled_statement "LAB_000cc900:\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (statement_identifier "LAB_000cc900") (: ":") (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) (; ";"))) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cccc4;" (goto "goto") (statement_identifier "LAB_000cccc4") (; ";"))) (} "}")) (else_clause "else {\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" (else "else") (compound_statement "{\n        uVar3 = (*pcVar25)(puVar9,1);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)(uVar8 & 1);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;\n        pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }\n      }" ({ "{") (expression_statement "uVar3 = (*pcVar25)(puVar9,1);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,1)" (identifier "uVar3") (= "=") (call_expression "(*pcVar25)(puVar9,1)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar9,1)" (( "(") (identifier "puVar9") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dca10)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dca10)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dca10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dca10)" (( "(") (binary_expression "puVar24 + 0x2dca10" (identifier "puVar24") (+ "+") (number_literal "0x2dca10")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)(uVar8 & 1);" (assignment_expression "puVar22 = (undefined *)(uVar8 & 1)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)(uVar8 & 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 & 1)" (( "(") (binary_expression "uVar8 & 1" (identifier "uVar8") (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (if_statement "if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0x10) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x10) & 2" (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cc900;" (goto "goto") (statement_identifier "LAB_000cc900") (; ";"))) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) (; ";")) (labeled_statement "LAB_000ccc54:\n        uVar3 = (*pcVar25)(puVar9,2);" (statement_identifier "LAB_000ccc54") (: ":") (expression_statement "uVar3 = (*pcVar25)(puVar9,2);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,2)" (identifier "uVar3") (= "=") (call_expression "(*pcVar25)(puVar9,2)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar9,2)" (( "(") (identifier "puVar9") (, ",") (number_literal "2") () ")")))) (; ";"))) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dca10)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dca10)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dca10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dca10)" (( "(") (binary_expression "puVar24 + 0x2dca10" (identifier "puVar24") (+ "+") (number_literal "0x2dca10")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((uint)puVar22 & uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar22 & uVar8)" (( "(") (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar22")) (& "&") (identifier "uVar8")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (if_statement "if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar2 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar25 = *(code **)(puVar24 + 0x2dcd30);\nLAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);\n          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n          puVar22 = (undefined *)((uint)puVar22 & uVar8);\n          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n          iVar2 = *(int *)(puVar9 + 0x2d0);\n        }" ({ "{") (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcd30);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcd30)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) (; ";")) (labeled_statement "LAB_000cccc4:\n          uVar3 = (*pcVar25)(puVar9,4);" (statement_identifier "LAB_000cccc4") (: ":") (expression_statement "uVar3 = (*pcVar25)(puVar9,4);" (assignment_expression "uVar3 = (*pcVar25)(puVar9,4)" (identifier "uVar3") (= "=") (call_expression "(*pcVar25)(puVar9,4)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar9,4)" (( "(") (identifier "puVar9") (, ",") (number_literal "4") () ")")))) (; ";"))) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dca10)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dca10)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dca10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dca10)" (( "(") (binary_expression "puVar24 + 0x2dca10" (identifier "puVar24") (+ "+") (number_literal "0x2dca10")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((uint)puVar22 & uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar22 & uVar8)" (( "(") (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar22")) (& "&") (identifier "uVar8")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }" (if "if") (parenthesized_expression "(((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2))" (( "(") (binary_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)" (parenthesized_expression "((*(uint *)(iVar2 + 0x28) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x28) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x28) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x28) & 2" (pointer_expression "*(uint *)(iVar2 + 0x28)" (* "*") (cast_expression "(uint *)(iVar2 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x28)" (( "(") (binary_expression "iVar2 + 0x28" (identifier "iVar2") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar9 + 4) == 2)" (( "(") (binary_expression "*(int *)(puVar9 + 4) == 2" (pointer_expression "*(int *)(puVar9 + 4)" (* "*") (cast_expression "(int *)(puVar9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 4)" (( "(") (binary_expression "puVar9 + 4" (identifier "puVar9") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);\n        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);\n        puVar22 = (undefined *)((uint)puVar22 & uVar8);\n        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);\n        iVar2 = *(int *)(puVar9 + 0x2d0);\n      }" ({ "{") (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,8)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,8)" (( "(") (identifier "puVar9") (, ",") (number_literal "8") () ")")))) (; ";")) (expression_statement "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);" (assignment_expression "uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dca10))(puVar9)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dca10))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dca10)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dca10)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dca10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dca10)" (( "(") (binary_expression "puVar24 + 0x2dca10" (identifier "puVar24") (+ "+") (number_literal "0x2dca10")) () ")"))))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (expression_statement "puVar22 = (undefined *)((uint)puVar22 & uVar8);" (assignment_expression "puVar22 = (undefined *)((uint)puVar22 & uVar8)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)((uint)puVar22 & uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar22 & uVar8)" (( "(") (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar22")) (& "&") (identifier "uVar8")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar9 + 0x2d0);" (assignment_expression "iVar2 = *(int *)(puVar9 + 0x2d0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puVar9 + 0x2d0)" (* "*") (cast_expression "(int *)(puVar9 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x2d0)" (( "(") (binary_expression "puVar9 + 0x2d0" (identifier "puVar9") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {\n        return puVar22;\n      }" (if "if") (parenthesized_expression "(((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0))" (( "(") (binary_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)" (parenthesized_expression "((*(uint *)(iVar2 + 0x34) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(iVar2 + 0x34) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar2 + 0x34) & 2)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x34) & 2" (pointer_expression "*(uint *)(iVar2 + 0x34)" (* "*") (cast_expression "(uint *)(iVar2 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x34)" (( "(") (binary_expression "iVar2 + 0x34" (identifier "iVar2") (+ "+") (number_literal "0x34")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(puVar9 + 700) == 0)" (( "(") (binary_expression "*(int *)(puVar9 + 700) == 0" (pointer_expression "*(int *)(puVar9 + 700)" (* "*") (cast_expression "(int *)(puVar9 + 700)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 700)" (( "(") (binary_expression "puVar9 + 700" (identifier "puVar9") (+ "+") (number_literal "700")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        return puVar22;\n      }" ({ "{") (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}"))) (expression_statement "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);" (assignment_expression "uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,0x10)" (( "(") (identifier "puVar9") (, ",") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dca10);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dca10)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dca10)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dca10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dca10)" (( "(") (binary_expression "puVar24 + 0x2dca10" (identifier "puVar24") (+ "+") (number_literal "0x2dca10")) () ")"))))) (; ";")) (labeled_statement "LAB_000cca38:\n      uVar8 = (*pcVar25)(puVar9);" (statement_identifier "LAB_000cca38") (: ":") (expression_statement "uVar8 = (*pcVar25)(puVar9);" (assignment_expression "uVar8 = (*pcVar25)(puVar9)" (identifier "uVar8") (= "=") (call_expression "(*pcVar25)(puVar9)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";"))) (expression_statement "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);" (call_expression "(**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcd30))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcd30)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcd30)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcd30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcd30)" (( "(") (binary_expression "puVar24 + 0x2dcd30" (identifier "puVar24") (+ "+") (number_literal "0x2dcd30")) () ")"))))) () ")")) (argument_list "(puVar9,uVar3)" (( "(") (identifier "puVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return (undefined *)((uint)puVar22 & uVar8);" (return "return") (cast_expression "(undefined *)((uint)puVar22 & uVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar22 & uVar8)" (( "(") (binary_expression "(uint)puVar22 & uVar8" (cast_expression "(uint)puVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar22")) (& "&") (identifier "uVar8")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c);" (call_expression "(**(code **)(puVar24 + 0x2dcda8))\n              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c)" (parenthesized_expression "(**(code **)(puVar24 + 0x2dcda8))" (( "(") (pointer_expression "**(code **)(puVar24 + 0x2dcda8)" (* "*") (pointer_expression "*(code **)(puVar24 + 0x2dcda8)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcda8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcda8)" (( "(") (binary_expression "puVar24 + 0x2dcda8" (identifier "puVar24") (+ "+") (number_literal "0x2dcda8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,\n               *(int *)(puVar24 + 0x2dc088) + 0x545c)" (( "(") (binary_expression "*(int *)(puVar24 + 0x2dc088) + -0x3784" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc088)" (( "(") (binary_expression "puVar24 + 0x2dc088" (identifier "puVar24") (+ "+") (number_literal "0x2dc088")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc088)" (( "(") (binary_expression "puVar24 + 0x2dc088" (identifier "puVar24") (+ "+") (number_literal "0x2dc088")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (number_literal "0xc93") (, ",") (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc088)" (( "(") (binary_expression "puVar24 + 0x2dc088" (identifier "puVar24") (+ "+") (number_literal "0x2dc088")) () ")")))) (+ "+") (number_literal "0x545c")) () ")"))) (; ";")) (expression_statement "puVar22 = puVar9;" (assignment_expression "puVar22 = puVar9" (identifier "puVar22") (= "=") (identifier "puVar9")) (; ";")) (} "}"))) (expression_statement "uVar3 = 0xc92;" (assignment_expression "uVar3 = 0xc92" (identifier "uVar3") (= "=") (number_literal "0xc92")) (; ";")) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x2dcda8);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x2dcda8)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puVar24 + 0x2dcda8)" (* "*") (cast_expression "(code **)(puVar24 + 0x2dcda8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x2dcda8)" (( "(") (binary_expression "puVar24 + 0x2dcda8" (identifier "puVar24") (+ "+") (number_literal "0x2dcda8")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;" (assignment_expression "iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c" (identifier "iVar15") (= "=") (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x545c" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc088)" (( "(") (binary_expression "puVar24 + 0x2dc088" (identifier "puVar24") (+ "+") (number_literal "0x2dc088")) () ")")))) (+ "+") (number_literal "0x545c"))) (; ";")) (expression_statement "iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;" (assignment_expression "iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0" (identifier "iVar2") (= "=") (binary_expression "*(int *)(puVar24 + 0x2dc080) + 0xdd0" (pointer_expression "*(int *)(puVar24 + 0x2dc080)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc080)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc080)" (( "(") (binary_expression "puVar24 + 0x2dc080" (identifier "puVar24") (+ "+") (number_literal "0x2dc080")) () ")")))) (+ "+") (number_literal "0xdd0"))) (; ";")) (expression_statement "(*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);" (call_expression "(*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060)" (( "(") (identifier "iVar2") (, ",") (binary_expression "*(int *)(puVar24 + 0x2dc088) + 0x5060" (pointer_expression "*(int *)(puVar24 + 0x2dc088)" (* "*") (cast_expression "(int *)(puVar24 + 0x2dc088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0x2dc088)" (( "(") (binary_expression "puVar24 + 0x2dc088" (identifier "puVar24") (+ "+") (number_literal "0x2dc088")) () ")")))) (+ "+") (number_literal "0x5060")) () ")"))) (; ";")) (expression_statement "dVar33 = (double)CONCAT44(uVar3,iVar15);" (assignment_expression "dVar33 = (double)CONCAT44(uVar3,iVar15)" (identifier "dVar33") (= "=") (cast_expression "(double)CONCAT44(uVar3,iVar15)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(uVar3,iVar15)" (identifier "CONCAT44") (argument_list "(uVar3,iVar15)" (( "(") (identifier "uVar3") (, ",") (identifier "iVar15") () ")"))))) (; ";")) (if_statement "if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);\n    unaff_s6 = iVar2;\n  }" ({ "{") (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" (* "*") (cast_expression "(int *)(iVar2 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x336c)" (( "(") (binary_expression "iVar2 + 0x336c" (identifier "iVar2") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);\n      if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }\n      return puVar22;\n    }" ({ "{") (expression_statement "pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);" (assignment_expression "pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" (identifier "pdVar4") (= "=") (cast_expression "(double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0x2dc670))(0x10000,8)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc670))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc670)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc670)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc670)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc670)" (( "(") (binary_expression "pcVar25 + 0x2dc670" (identifier "pcVar25") (+ "+") (number_literal "0x2dc670")) () ")"))))) () ")")) (argument_list "(0x10000,8)" (( "(") (number_literal "0x10000") (, ",") (number_literal "8") () ")"))))) (; ";")) (if_statement "if (pdVar4 == (double *)0x0) {\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }\n      else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" (if "if") (parenthesized_expression "(pdVar4 == (double *)0x0)" (( "(") (binary_expression "pdVar4 == (double *)0x0" (identifier "pdVar4") (== "==") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);\n        puVar22 = (undefined *)0x0;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);" (call_expression "(**(code **)(pcVar25 + 0x2dc084))\n                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc084))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc084)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc084)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc084)" (( "(") (binary_expression "pcVar25 + 0x2dc084" (identifier "pcVar25") (+ "+") (number_literal "0x2dc084")) () ")"))))) () ")")) (argument_list "(pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,\n                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29)" (( "(") (identifier "pdStack_e8") (, ",") (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba4c)" (( "(") (binary_expression "pcVar25 + 0x2dba4c" (identifier "pcVar25") (+ "+") (number_literal "0x2dba4c")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5420" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba4c)" (( "(") (binary_expression "pcVar25 + 0x2dba4c" (identifier "pcVar25") (+ "+") (number_literal "0x2dba4c")) () ")")))) (+ "+") (number_literal "0x5420")) (, ",") (number_literal "0xd29") () ")"))) (; ";")) (expression_statement "puVar22 = (undefined *)0x0;" (assignment_expression "puVar22 = (undefined *)0x0" (identifier "puVar22") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" (else "else") (compound_statement "{\n        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);\n        pdVar12 = pdVar4 + 0xffff;\n        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);\n        if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }\n        iVar15 = 0;\n        (**(code **)(pcVar25 + 0x2dc058))(uVar3);\n        dVar31 = 0.0;\n        pdVar6 = pdVar4;\n        do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);\n        iVar15 = 0xffff;\n        dVar31 = 0.0;\n        do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);\n        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\nLAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);" (call_expression "(**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc838))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc838)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc838)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc838)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc838)" (( "(") (binary_expression "pcVar25 + 0x2dc838" (identifier "pcVar25") (+ "+") (number_literal "0x2dc838")) () ")"))))) () ")")) (argument_list "(pdVar4,0,0x80000)" (( "(") (identifier "pdVar4") (, ",") (number_literal "0") (, ",") (number_literal "0x80000") () ")"))) (; ";")) (expression_statement "pdVar12 = pdVar4 + 0xffff;" (assignment_expression "pdVar12 = pdVar4 + 0xffff" (identifier "pdVar12") (= "=") (binary_expression "pdVar4 + 0xffff" (identifier "pdVar4") (+ "+") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);" (assignment_expression "uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc8b8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc8b8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc8b8)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc8b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc8b8)" (( "(") (binary_expression "pcVar25 + 0x2dc8b8" (identifier "pcVar25") (+ "+") (number_literal "0x2dc8b8")) () ")"))))) () ")")) (argument_list "(iVar2,pdStack_e8)" (( "(") (identifier "iVar2") (, ",") (identifier "pdStack_e8") () ")")))) (; ";")) (if_statement "if (0 < *(int *)(iVar2 + 0x1c)) {\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar2 + 0x1c))" (( "(") (binary_expression "0 < *(int *)(iVar2 + 0x1c)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar2 + 0x1c)" (* "*") (cast_expression "(int *)(iVar2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (compound_statement "{\n          iVar20 = 0;\n          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);\n          iVar15 = *(int *)(iVar2 + 0x18);\n          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);\n          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);\n          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);\n          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));\n        }" ({ "{") (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" (identifier "dVar31") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" (* "*") (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1438)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1438" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba44)" (( "(") (binary_expression "pcVar25 + 0x2dba44" (identifier "pcVar25") (+ "+") (number_literal "0x2dba44")) () ")")))) (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar2 + 0x18)" (* "*") (cast_expression "(int *)(iVar2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);" (assignment_expression "dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" (identifier "dVar35") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" (* "*") (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1400)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1400" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba44)" (( "(") (binary_expression "pcVar25 + 0x2dba44" (identifier "pcVar25") (+ "+") (number_literal "0x2dba44")) () ")")))) (+ "+") (number_literal "0x1400")) () ")"))))) (; ";")) (expression_statement "dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" (identifier "dVar32") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1410)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1410" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba44)" (( "(") (binary_expression "pcVar25 + 0x2dba44" (identifier "pcVar25") (+ "+") (number_literal "0x2dba44")) () ")")))) (+ "+") (number_literal "0x1410")) () ")"))))) (; ";")) (expression_statement "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);" (assignment_expression "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" (identifier "uVar34") (= "=") (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0x1a50)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0x1a50" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba44)" (( "(") (binary_expression "pcVar25 + 0x2dba44" (identifier "pcVar25") (+ "+") (number_literal "0x2dba44")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")"))))) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2dc7c0)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc7c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc7c0)" (( "(") (binary_expression "pcVar25 + 0x2dc7c0" (identifier "pcVar25") (+ "+") (number_literal "0x2dc7c0")) () ")"))))) (; ";")) (do_statement "do {\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          } while (iVar20 < *(int *)(iVar2 + 0x1c));" (do "do") (compound_statement "{\n            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);\n            if (iVar5 == 0) break;\n            iVar15 = *(int *)(iVar2 + 0x18);\n            if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }\n            iVar20 = iVar20 + 1;\n            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);\n          }" ({ "{") (expression_statement "iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);" (assignment_expression "iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15)" (identifier "iVar5") (= "=") (call_expression "(*pcVar26)(uVar3,0,iVar20,iVar15)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(uVar3,0,iVar20,iVar15)" (( "(") (identifier "uVar3") (, ",") (number_literal "0") (, ",") (identifier "iVar20") (, ",") (identifier "iVar15") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) break;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar2 + 0x18)" (* "*") (cast_expression "(int *)(iVar2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (0 < iVar15) {\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }" (if "if") (parenthesized_expression "(0 < iVar15)" (( "(") (binary_expression "0 < iVar15" (number_literal "0") (< "<") (identifier "iVar15")) () ")")) (compound_statement "{\n              iVar27 = 0;\n              do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);\n            }" ({ "{") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              } while (iVar27 < iVar15);" (do "do") (compound_statement "{\n                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);\n                fVar30 = (float)dVar29;\n                pdVar6 = pdVar12;\n                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }\n                iVar27 = iVar27 + 1;\n                iVar15 = *(int *)(iVar2 + 0x18);\n                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;\n                *pdVar6 = *pdVar6 + dVar31;\n              }" ({ "{") (expression_statement "dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);" (assignment_expression "dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" (identifier "dVar29") (= "=") (cast_expression "(double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dbfbc))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dbfbc)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dbfbc)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dbfbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dbfbc)" (( "(") (binary_expression "pcVar25 + 0x2dbfbc" (identifier "pcVar25") (+ "+") (number_literal "0x2dbfbc")) () ")"))))) () ")")) (argument_list "(iVar2,iVar5)" (( "(") (identifier "iVar2") (, ",") (identifier "iVar5") () ")"))))) (; ";")) (expression_statement "fVar30 = (float)dVar29;" (assignment_expression "fVar30 = (float)dVar29" (identifier "fVar30") (= "=") (cast_expression "(float)dVar29" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar29"))) (; ";")) (expression_statement "pdVar6 = pdVar12;" (assignment_expression "pdVar6 = pdVar12" (identifier "pdVar6") (= "=") (identifier "pdVar12")) (; ";")) (if_statement "if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }" (if "if") (parenthesized_expression "((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30))" (( "(") (binary_expression "(fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)" (parenthesized_expression "(fVar30 < (float)uVar34)" (( "(") (binary_expression "fVar30 < (float)uVar34" (identifier "fVar30") (< "<") (cast_expression "(float)uVar34" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar34"))) () ")")) (&& "&&") (parenthesized_expression "(pdVar6 = pdVar4, 0.0 < fVar30)" (( "(") (comma_expression "pdVar6 = pdVar4, 0.0 < fVar30" (assignment_expression "pdVar6 = pdVar4" (identifier "pdVar6") (= "=") (identifier "pdVar4")) (, ",") (binary_expression "0.0 < fVar30" (number_literal "0.0") (< "<") (identifier "fVar30"))) () ")"))) () ")")) (compound_statement "{\n                  dVar29 = (double)fVar30 + dVar35;\n                  if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }\n                  pdVar6 = pdVar4 + (int)dVar29;\n                }" ({ "{") (expression_statement "dVar29 = (double)fVar30 + dVar35;" (assignment_expression "dVar29 = (double)fVar30 + dVar35" (identifier "dVar29") (= "=") (binary_expression "(double)fVar30 + dVar35" (cast_expression "(double)fVar30" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar30")) (+ "+") (identifier "dVar35"))) (; ";")) (if_statement "if (dVar32 <= dVar29) {\n                    dVar29 = dVar29 - dVar32;\n                  }" (if "if") (parenthesized_expression "(dVar32 <= dVar29)" (( "(") (binary_expression "dVar32 <= dVar29" (identifier "dVar32") (<= "<=") (identifier "dVar29")) () ")")) (compound_statement "{\n                    dVar29 = dVar29 - dVar32;\n                  }" ({ "{") (expression_statement "dVar29 = dVar29 - dVar32;" (assignment_expression "dVar29 = dVar29 - dVar32" (identifier "dVar29") (= "=") (binary_expression "dVar29 - dVar32" (identifier "dVar29") (- "-") (identifier "dVar32"))) (; ";")) (} "}"))) (expression_statement "pdVar6 = pdVar4 + (int)dVar29;" (assignment_expression "pdVar6 = pdVar4 + (int)dVar29" (identifier "pdVar6") (= "=") (binary_expression "pdVar4 + (int)dVar29" (identifier "pdVar4") (+ "+") (cast_expression "(int)dVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar29")))) (; ";")) (} "}"))) (expression_statement "iVar27 = iVar27 + 1;" (assignment_expression "iVar27 = iVar27 + 1" (identifier "iVar27") (= "=") (binary_expression "iVar27 + 1" (identifier "iVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar2 + 0x18);" (assignment_expression "iVar15 = *(int *)(iVar2 + 0x18)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar2 + 0x18)" (* "*") (cast_expression "(int *)(iVar2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4" (identifier "iVar5") (= "=") (binary_expression "iVar5 + *(int *)(iVar2 + 0x2c0) * 4" (identifier "iVar5") (+ "+") (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar2 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2c0)" (( "(") (binary_expression "iVar2 + 0x2c0" (identifier "iVar2") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "*pdVar6 = *pdVar6 + dVar31;" (assignment_expression "*pdVar6 = *pdVar6 + dVar31" (pointer_expression "*pdVar6" (* "*") (identifier "pdVar6")) (= "=") (binary_expression "*pdVar6 + dVar31" (pointer_expression "*pdVar6" (* "*") (identifier "pdVar6")) (+ "+") (identifier "dVar31"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 < iVar15)" (( "(") (binary_expression "iVar27 < iVar15" (identifier "iVar27") (< "<") (identifier "iVar15")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc7c0)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2dc7c0)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc7c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc7c0)" (( "(") (binary_expression "pcVar25 + 0x2dc7c0" (identifier "pcVar25") (+ "+") (number_literal "0x2dc7c0")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 < *(int *)(iVar2 + 0x1c))" (( "(") (binary_expression "iVar20 < *(int *)(iVar2 + 0x1c)" (identifier "iVar20") (< "<") (pointer_expression "*(int *)(iVar2 + 0x1c)" (* "*") (cast_expression "(int *)(iVar2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0x2dc058))(uVar3);" (call_expression "(**(code **)(pcVar25 + 0x2dc058))(uVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc058))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc058)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc058)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc058)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc058)" (( "(") (binary_expression "pcVar25 + 0x2dc058" (identifier "pcVar25") (+ "+") (number_literal "0x2dc058")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "dVar31 = 0.0;" (assignment_expression "dVar31 = 0.0" (identifier "dVar31") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "pdVar6 = pdVar4;" (assignment_expression "pdVar6 = pdVar4" (identifier "pdVar6") (= "=") (identifier "pdVar4")) (; ";")) (do_statement "do {\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        } while (iVar15 != 0xffff);" (do "do") (compound_statement "{\n          dVar31 = dVar31 + *pdVar6;\n          iVar15 = iVar15 + 1;\n          if (dVar33 <= dVar31) break;\n          pdVar6 = pdVar6 + 1;\n        }" ({ "{") (expression_statement "dVar31 = dVar31 + *pdVar6;" (assignment_expression "dVar31 = dVar31 + *pdVar6" (identifier "dVar31") (= "=") (binary_expression "dVar31 + *pdVar6" (identifier "dVar31") (+ "+") (pointer_expression "*pdVar6" (* "*") (identifier "pdVar6")))) (; ";")) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (dVar33 <= dVar31) break;" (if "if") (parenthesized_expression "(dVar33 <= dVar31)" (( "(") (binary_expression "dVar33 <= dVar31" (identifier "dVar33") (<= "<=") (identifier "dVar31")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pdVar6 = pdVar6 + 1;" (assignment_expression "pdVar6 = pdVar6 + 1" (identifier "pdVar6") (= "=") (binary_expression "pdVar6 + 1" (identifier "pdVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 != 0xffff)" (( "(") (binary_expression "iVar15 != 0xffff" (identifier "iVar15") (!= "!=") (number_literal "0xffff")) () ")")) (; ";")) (expression_statement "iVar15 = 0xffff;" (assignment_expression "iVar15 = 0xffff" (identifier "iVar15") (= "=") (number_literal "0xffff")) (; ";")) (expression_statement "dVar31 = 0.0;" (assignment_expression "dVar31 = 0.0" (identifier "dVar31") (= "=") (number_literal "0.0")) (; ";")) (do_statement "do {\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        } while (iVar15 != 0);" (do "do") (compound_statement "{\n          dVar31 = dVar31 + *pdVar12;\n          iVar15 = iVar15 + -1;\n          if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }\n          pdVar12 = pdVar12 + -1;\n        }" ({ "{") (expression_statement "dVar31 = dVar31 + *pdVar12;" (assignment_expression "dVar31 = dVar31 + *pdVar12" (identifier "dVar31") (= "=") (binary_expression "dVar31 + *pdVar12" (identifier "dVar31") (+ "+") (pointer_expression "*pdVar12" (* "*") (identifier "pdVar12")))) (; ";")) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (dStack_f0 <= dVar31) {\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }" (if "if") (parenthesized_expression "(dStack_f0 <= dVar31)" (( "(") (binary_expression "dStack_f0 <= dVar31" (identifier "dStack_f0") (<= "<=") (identifier "dVar31")) () ")")) (compound_statement "{\n            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);\n            goto LAB_000cd170;\n          }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2dc124))(pdVar4);" (call_expression "(**(code **)(pcVar25 + 0x2dc124))(pdVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc124))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc124)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc124)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc124)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc124)" (( "(") (binary_expression "pcVar25 + 0x2dc124" (identifier "pcVar25") (+ "+") (number_literal "0x2dc124")) () ")"))))) () ")")) (argument_list "(pdVar4)" (( "(") (identifier "pdVar4") () ")"))) (; ";")) (goto_statement "goto LAB_000cd170;" (goto "goto") (statement_identifier "LAB_000cd170") (; ";")) (} "}"))) (expression_statement "pdVar12 = pdVar12 + -1;" (assignment_expression "pdVar12 = pdVar12 + -1" (identifier "pdVar12") (= "=") (binary_expression "pdVar12 + -1" (identifier "pdVar12") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0x2dc124))(pdVar4);" (call_expression "(**(code **)(pcVar25 + 0x2dc124))(pdVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc124))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc124)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc124)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc124)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc124)" (( "(") (binary_expression "pcVar25 + 0x2dc124" (identifier "pcVar25") (+ "+") (number_literal "0x2dc124")) () ")"))))) () ")")) (argument_list "(pdVar4)" (( "(") (identifier "pdVar4") () ")"))) (; ";")) (labeled_statement "LAB_000cd170:\n        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);" (statement_identifier "LAB_000cd170") (: ":") (expression_statement "puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);" (assignment_expression "puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" (identifier "puVar22") (= "=") (cast_expression "(undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0x2dc3d4))(iVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc3d4))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc3d4)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc3d4)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc3d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc3d4)" (( "(") (binary_expression "pcVar25 + 0x2dc3d4" (identifier "pcVar25") (+ "+") (number_literal "0x2dc3d4")) () ")"))))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))))) (; ";"))) (} "}")))) (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);" (call_expression "(**(code **)(pcVar25 + 0x2dc76c))\n              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2dc76c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2dc76c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2dc76c)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc76c)" (( "(") (binary_expression "pcVar25 + 0x2dc76c" (identifier "pcVar25") (+ "+") (number_literal "0x2dc76c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,\n               *(int *)(pcVar25 + 0x2dba4c) + 0x5434)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + -0x3784" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba4c)" (( "(") (binary_expression "pcVar25 + 0x2dba4c" (identifier "pcVar25") (+ "+") (number_literal "0x2dba4c")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba4c)" (( "(") (binary_expression "pcVar25 + 0x2dba4c" (identifier "pcVar25") (+ "+") (number_literal "0x2dba4c")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (number_literal "0xd25") (, ",") (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5434" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba4c)" (( "(") (binary_expression "pcVar25 + 0x2dba4c" (identifier "pcVar25") (+ "+") (number_literal "0x2dba4c")) () ")")))) (+ "+") (number_literal "0x5434")) () ")"))) (; ";")) (expression_statement "unaff_s6 = iVar2;" (assignment_expression "unaff_s6 = iVar2" (identifier "unaff_s6") (= "=") (identifier "iVar2")) (; ";")) (} "}"))) (expression_statement "iVar2 = 0xd24;" (assignment_expression "iVar2 = 0xd24" (identifier "iVar2") (= "=") (number_literal "0xd24")) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2dc76c);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2dc76c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2dc76c)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2dc76c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2dc76c)" (( "(") (binary_expression "pcVar25 + 0x2dc76c" (identifier "pcVar25") (+ "+") (number_literal "0x2dc76c")) () ")"))))) (; ";")) (expression_statement "pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);" (assignment_expression "pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" (identifier "pdVar4") (= "=") (cast_expression "(double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba4c) + 0x5060)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dba4c) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2dba4c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba4c)" (( "(") (binary_expression "pcVar25 + 0x2dba4c" (identifier "pcVar25") (+ "+") (number_literal "0x2dba4c")) () ")")))) (+ "+") (number_literal "0x5060")) () ")")))) (; ";")) (expression_statement "piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);" (assignment_expression "piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" (identifier "piVar10") (= "=") (cast_expression "(int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2dba44) + 0xdd0)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dba44) + 0xdd0" (pointer_expression "*(int *)(pcVar25 + 0x2dba44)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dba44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dba44)" (( "(") (binary_expression "pcVar25 + 0x2dba44" (identifier "pcVar25") (+ "+") (number_literal "0x2dba44")) () ")")))) (+ "+") (number_literal "0xdd0")) () ")")))) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar25 = pcVar26 + 0x2e35c0;" (assignment_expression "pcVar25 = pcVar26 + 0x2e35c0" (identifier "pcVar25") (= "=") (binary_expression "pcVar26 + 0x2e35c0" (identifier "pcVar26") (+ "+") (number_literal "0x2e35c0"))) (; ";")) (expression_statement "piVar21 = *(int **)(pcVar26 + 0x2dbf40);" (assignment_expression "piVar21 = *(int **)(pcVar26 + 0x2dbf40)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar26 + 0x2dbf40)" (* "*") (cast_expression "(int **)(pcVar26 + 0x2dbf40)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x2dbf40)" (( "(") (binary_expression "pcVar26 + 0x2dbf40" (identifier "pcVar26") (+ "+") (number_literal "0x2dbf40")) () ")"))))) (; ";")) (expression_statement "pdStack_1d0 = pdStack_e8;" (assignment_expression "pdStack_1d0 = pdStack_e8" (identifier "pdStack_1d0") (= "=") (identifier "pdStack_e8")) (; ";")) (expression_statement "pdStack_1d8 = local_a0;" (assignment_expression "pdStack_1d8 = local_a0" (identifier "pdStack_1d8") (= "=") (identifier "local_a0")) (; ";")) (expression_statement "piStack_1e4 = (int *)*piVar21;" (assignment_expression "piStack_1e4 = (int *)*piVar21" (identifier "piStack_1e4") (= "=") (cast_expression "(int *)*piVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) (; ";")) (expression_statement "pcStack_2a0 = pcVar25;" (assignment_expression "pcStack_2a0 = pcVar25" (identifier "pcStack_2a0") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "puStack_1e0 = puVar22;" (assignment_expression "puStack_1e0 = puVar22" (identifier "puStack_1e0") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "puStack_1dc = param_7;" (assignment_expression "puStack_1dc = param_7" (identifier "puStack_1dc") (= "=") (identifier "param_7")) (; ";")) (expression_statement "iStack_1d4 = unaff_s3;" (assignment_expression "iStack_1d4 = unaff_s3" (identifier "iStack_1d4") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if (piVar10 == (int *)0x0) {\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }\n  else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" (if "if") (parenthesized_expression "(piVar10 == (int *)0x0)" (( "(") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000cddd8:\n    iVar15 = 0xe4d;\n    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);\n    (**(code **)(pcVar26 + 0x2dc318))();\n  }" ({ "{") (labeled_statement "LAB_000cddd8:\n    iVar15 = 0xe4d;" (statement_identifier "LAB_000cddd8") (: ":") (expression_statement "iVar15 = 0xe4d;" (assignment_expression "iVar15 = 0xe4d" (identifier "iVar15") (= "=") (number_literal "0xe4d")) (; ";"))) (expression_statement "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" (identifier "pdVar12") (= "=") (cast_expression "(double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f8)" (( "(") (binary_expression "pcVar26 + 0x2db5f8" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f8")) () ")")))) (+ "+") (number_literal "0x5060")) () ")")))) (; ";")) (expression_statement "piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);" (assignment_expression "piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" (identifier "piVar10") (= "=") (cast_expression "(int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x2db5f0) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x2db5f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f0)" (( "(") (binary_expression "pcVar26 + 0x2db5f0" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f0")) () ")")))) (+ "+") (number_literal "0xdd0")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x2dc318))();" (call_expression "(**(code **)(pcVar26 + 0x2dc318))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dc318))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x2dc318)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x2dc318)" (* "*") (cast_expression "(code **)(pcVar26 + 0x2dc318)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x2dc318)" (( "(") (binary_expression "pcVar26 + 0x2dc318" (identifier "pcVar26") (+ "+") (number_literal "0x2dc318")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s7 = piVar10;\n    if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }\n    if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }\n    piVar10 = piStack_1e4;\n    unaff_s3 = iVar2;\n    pcVar25 = pcStack_2a0;\n    if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }\n  }" ({ "{") (expression_statement "unaff_s7 = piVar10;" (assignment_expression "unaff_s7 = piVar10" (identifier "unaff_s7") (= "=") (identifier "piVar10")) (; ";")) (if_statement "if (piVar10[0xcdb] != -0x54535255) {\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" (if "if") (parenthesized_expression "(piVar10[0xcdb] != -0x54535255)" (( "(") (binary_expression "piVar10[0xcdb] != -0x54535255" (subscript_expression "piVar10[0xcdb]" (identifier "piVar10") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);\n      goto LAB_000cddd8;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);" (call_expression "(**(code **)(pcVar26 + 0x2dc318))\n                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dc318))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x2dc318)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x2dc318)" (* "*") (cast_expression "(code **)(pcVar26 + 0x2dc318)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x2dc318)" (( "(") (binary_expression "pcVar26 + 0x2dc318" (identifier "pcVar26") (+ "+") (number_literal "0x2dc318")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,\n                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f8)" (( "(") (binary_expression "pcVar26 + 0x2db5f8" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f8")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f8)" (( "(") (binary_expression "pcVar26 + 0x2db5f8" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f8")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (number_literal "0xe4e") (, ",") (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5410" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f8)" (( "(") (binary_expression "pcVar26 + 0x2db5f8" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f8")) () ")")))) (+ "+") (number_literal "0x5410")) () ")"))) (; ";")) (goto_statement "goto LAB_000cddd8;" (goto "goto") (statement_identifier "LAB_000cddd8") (; ";")) (} "}"))) (if_statement "if (piVar10[0xcd4] == 0) {\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }\n    else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" (if "if") (parenthesized_expression "(piVar10[0xcd4] == 0)" (( "(") (binary_expression "piVar10[0xcd4] == 0" (subscript_expression "piVar10[0xcd4]" (identifier "piVar10") ([ "[") (number_literal "0xcd4") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pdVar12 = pdVar4;\n      iVar15 = iVar2;\n      if (pdVar4 == (double *)0x0) goto LAB_000cd570;\nLAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }\n      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);\n      param_5 = dStack_238;\n      if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      dVar31 = dStack_230;\n      if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);\n      if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }\n      if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      local_a0 = &dStack_218;\n      pdStack_e8 = &dStack_248;\n      dStack_248 = 0.0;\n      uVar3 = (*pcVar25)(piVar10,iVar2);\n      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);\n      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }\nLAB_000cd4d8:\n      iStack_1f4 = iStack_298;\n      puStack_1f0 = (undefined *)0x1;\n      pdVar12 = local_a0;\n      dStack_210 = dVar31;\n      dStack_208 = param_5;\n      piStack_200 = piVar10;\n      iStack_1fc = iVar2;\n      uStack_1f8 = uVar3;\n      pdStack_1ec = pdStack_e8;\n      (**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);\n      puVar22 = puStack_1f0;\n      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);\n    }" ({ "{") (expression_statement "pdVar12 = pdVar4;" (assignment_expression "pdVar12 = pdVar4" (identifier "pdVar12") (= "=") (identifier "pdVar4")) (; ";")) (expression_statement "iVar15 = iVar2;" (assignment_expression "iVar15 = iVar2" (identifier "iVar15") (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (pdVar4 == (double *)0x0) goto LAB_000cd570;" (if "if") (parenthesized_expression "(pdVar4 == (double *)0x0)" (( "(") (binary_expression "pdVar4 == (double *)0x0" (identifier "pdVar4") (== "==") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000cd570;" (goto "goto") (statement_identifier "LAB_000cd570") (; ";"))) (labeled_statement "LAB_000cd380:\n      if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" (statement_identifier "LAB_000cd380") (: ":") (if_statement "if ((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" (if "if") (parenthesized_expression "((0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)))" (( "(") (binary_expression "(0x1e < piVar10[1] - 3U) ||\n         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < piVar10[1] - 3U)" (( "(") (binary_expression "0x1e < piVar10[1] - 3U" (number_literal "0x1e") (< "<") (binary_expression "piVar10[1] - 3U" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "3U"))) () ")")) (|| "||") (parenthesized_expression "(-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))" (( "(") (binary_expression "-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" (number_literal "-1") (< "<") (cast_expression "(int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f)" (( "(") (binary_expression "(0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f" (parenthesized_expression "(0x403c0001U >> (piVar10[1] - 3U & 0x1f))" (( "(") (binary_expression "0x403c0001U >> (piVar10[1] - 3U & 0x1f)" (number_literal "0x403c0001U") (>> ">>") (parenthesized_expression "(piVar10[1] - 3U & 0x1f)" (( "(") (binary_expression "piVar10[1] - 3U & 0x1f" (binary_expression "piVar10[1] - 3U" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "3U")) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (<< "<<") (number_literal "0x1f")) () ")")))) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);" (call_expression "(**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b70))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7b70)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7b70)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7b70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7b70)" (( "(") (binary_expression "pcStack_2a0 + -0x7b70" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7b70")) () ")"))))) () ")")) (argument_list "(piVar10,0x17,iVar2)" (( "(") (identifier "piVar10") (, ",") (number_literal "0x17") (, ",") (identifier "iVar2") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);" (assignment_expression "uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x745c))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x745c)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x745c)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x745c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x745c)" (( "(") (binary_expression "pcStack_2a0 + -0x745c" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x745c")) () ")"))))) () ")")) (argument_list "(pdVar4,&dStack_240)" (( "(") (identifier "pdVar4") (, ",") (pointer_expression "&dStack_240" (& "&") (identifier "dStack_240")) () ")")))) (; ";")) (expression_statement "param_5 = dStack_238;" (assignment_expression "param_5 = dStack_238" (identifier "param_5") (= "=") (identifier "dStack_238")) (; ";")) (if_statement "if ((uVar8 & 8) == 0) {\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" (if "if") (parenthesized_expression "((uVar8 & 8) == 0)" (( "(") (binary_expression "(uVar8 & 8) == 0" (parenthesized_expression "(uVar8 & 8)" (( "(") (binary_expression "uVar8 & 8" (identifier "uVar8") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" ({ "{") (expression_statement "param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (identifier "param_5") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (( "(") (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" (( "(") (binary_expression "pcStack_2a0 + -0x7fd0" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1a70")) () ")"))))) (; ";")) (} "}"))) (expression_statement "dVar31 = dStack_230;" (assignment_expression "dVar31 = dStack_230" (identifier "dVar31") (= "=") (identifier "dStack_230")) (; ";")) (if_statement "if ((uVar8 & 1) == 0) {\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" (if "if") (parenthesized_expression "((uVar8 & 1) == 0)" (( "(") (binary_expression "(uVar8 & 1) == 0" (parenthesized_expression "(uVar8 & 1)" (( "(") (binary_expression "uVar8 & 1" (identifier "uVar8") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n      }" ({ "{") (expression_statement "dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (identifier "dVar31") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (( "(") (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" (( "(") (binary_expression "pcStack_2a0 + -0x7fd0" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1a70")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x73f0))\n                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73f0))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x73f0)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x73f0)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x73f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x73f0)" (( "(") (binary_expression "pcStack_2a0 + -0x73f0" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x73f0")) () ")"))))) () ")")) (argument_list "(piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0)" (( "(") (identifier "piVar10") (, ",") (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" (( "(") (binary_expression "pcStack_2a0 + -0x7fc8" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x52e0")) () ")")))) (; ";")) (if_statement "if (iVar15 == 0) {\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }\n      else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iStack_298 = 0;\n        dVar33 = dStack_240;\n      }" ({ "{") (expression_statement "iStack_298 = 0;" (assignment_expression "iStack_298 = 0" (identifier "iStack_298") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar33 = dStack_240;" (assignment_expression "dVar33 = dStack_240" (identifier "dVar33") (= "=") (identifier "dStack_240")) (; ";")) (} "}")) (else_clause "else {\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" (else "else") (compound_statement "{\n        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);\n        dVar33 = dStack_240;\n      }" ({ "{") (expression_statement "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);" (assignment_expression "iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15)" (identifier "iStack_298") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x721c))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x721c)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x721c)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x721c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x721c)" (( "(") (binary_expression "pcStack_2a0 + -0x721c" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x721c")) () ")"))))) () ")")) (argument_list "(9,0,iVar15)" (( "(") (number_literal "9") (, ",") (number_literal "0") (, ",") (identifier "iVar15") () ")")))) (; ";")) (expression_statement "dVar33 = dStack_240;" (assignment_expression "dVar33 = dStack_240" (identifier "dVar33") (= "=") (identifier "dStack_240")) (; ";")) (} "}")))) (if_statement "if ((*piVar10 == 2) && (0 < piVar10[9])) {\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }\n      else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" (if "if") (parenthesized_expression "((*piVar10 == 2) && (0 < piVar10[9]))" (( "(") (binary_expression "(*piVar10 == 2) && (0 < piVar10[9])" (parenthesized_expression "(*piVar10 == 2)" (( "(") (binary_expression "*piVar10 == 2" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(0 < piVar10[9])" (( "(") (binary_expression "0 < piVar10[9]" (number_literal "0") (< "<") (subscript_expression "piVar10[9]" (identifier "piVar10") ([ "[") (number_literal "9") (] "]"))) () ")"))) () ")")) (compound_statement "{\n        unaff_s8 = 0;\n        unaff_s6 = 0;\n        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);\n        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);\n        uStack_294 = iStack_298 - 4;\n        pdStack_284 = &dStack_250;\n        puStack_290 = &uStack_268;\n        puStack_28c = &uStack_260;\n        dVar35 = *(double *)(iStack_280 + -0x39f0);\n        iVar15 = piVar10[10];\n        puStack_288 = &uStack_258;\n        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);\n        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);\n        dStack_270 = dVar32;\n        do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" ({ "{") (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" (identifier "unaff_s8") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" (identifier "unaff_s6") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);" (assignment_expression "dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" (identifier "dVar32") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0)" (( "(") (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" (( "(") (binary_expression "pcStack_2a0 + -0x7fc8" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x5ab0")) () ")"))))) (; ";")) (expression_statement "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8)" (identifier "iStack_280") (= "=") (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" (( "(") (binary_expression "pcStack_2a0 + -0x7fc8" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);" (assignment_expression "dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (identifier "dStack_278") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70)" (( "(") (binary_expression "*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fd0)" (( "(") (binary_expression "pcStack_2a0 + -0x7fd0" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1a70")) () ")"))))) (; ";")) (expression_statement "uStack_294 = iStack_298 - 4;" (assignment_expression "uStack_294 = iStack_298 - 4" (identifier "uStack_294") (= "=") (binary_expression "iStack_298 - 4" (identifier "iStack_298") (- "-") (number_literal "4"))) (; ";")) (expression_statement "pdStack_284 = &dStack_250;" (assignment_expression "pdStack_284 = &dStack_250" (identifier "pdStack_284") (= "=") (pointer_expression "&dStack_250" (& "&") (identifier "dStack_250"))) (; ";")) (expression_statement "puStack_290 = &uStack_268;" (assignment_expression "puStack_290 = &uStack_268" (identifier "puStack_290") (= "=") (pointer_expression "&uStack_268" (& "&") (identifier "uStack_268"))) (; ";")) (expression_statement "puStack_28c = &uStack_260;" (assignment_expression "puStack_28c = &uStack_260" (identifier "puStack_28c") (= "=") (pointer_expression "&uStack_260" (& "&") (identifier "uStack_260"))) (; ";")) (expression_statement "dVar35 = *(double *)(iStack_280 + -0x39f0);" (assignment_expression "dVar35 = *(double *)(iStack_280 + -0x39f0)" (identifier "dVar35") (= "=") (pointer_expression "*(double *)(iStack_280 + -0x39f0)" (* "*") (cast_expression "(double *)(iStack_280 + -0x39f0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_280 + -0x39f0)" (( "(") (binary_expression "iStack_280 + -0x39f0" (identifier "iStack_280") (+ "+") (number_literal "-0x39f0")) () ")"))))) (; ";")) (expression_statement "iVar15 = piVar10[10];" (assignment_expression "iVar15 = piVar10[10]" (identifier "iVar15") (= "=") (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "puStack_288 = &uStack_258;" (assignment_expression "puStack_288 = &uStack_258" (identifier "puStack_288") (= "=") (pointer_expression "&uStack_258" (& "&") (identifier "uStack_258"))) (; ";")) (expression_statement "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);" (assignment_expression "unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" (identifier "unaff_s5") (= "=") (cast_expression "(int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4)" (( "(") (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4" (binary_expression "*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364" (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" (( "(") (binary_expression "pcStack_2a0 + -0x7fc8" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x5364")) (+ "+") (binary_expression "uStack_294 * 4" (identifier "uStack_294") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);" (assignment_expression "iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8)" (identifier "iStack_27c") (= "=") (pointer_expression "*(int *)(pcStack_2a0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7fc8)" (( "(") (binary_expression "pcStack_2a0 + -0x7fc8" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "dStack_270 = dVar32;" (assignment_expression "dStack_270 = dVar32" (identifier "dStack_270") (= "=") (identifier "dVar32")) (; ";")) (do_statement "do {\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        } while (unaff_s6 < iVar20);" (do "do") (compound_statement "{\n          iVar15 = iVar15 + unaff_s8;\n          uStack_258 = *(undefined8 *)(iVar15 + 0x28);\n          uStack_260 = *(undefined8 *)(iVar15 + 0x30);\n          uStack_268 = *(undefined8 *)(iVar15 + 0x38);\n          if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }\n          pdStack_2b0 = pdStack_284;\n          uStack_2b8 = (double)uStack_268;\n          pdStack_2ac = &dStack_218;\n          pdStack_2a8 = &dStack_248;\n          (**(code **)(pcStack_2a0 + -0x7b7c))();\n          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);\n          pdStack_2a8 = (double *)puStack_290;\n          pdStack_2ac = (double *)puStack_28c;\n          pdStack_2b0 = (double *)puStack_288;\n          dStack_250 = dVar29 / dVar35 + dStack_250;\n          dStack_218 = param_5 * dVar32 * dStack_218;\n          uStack_2b8 = dVar33 * dVar32 * dStack_248;\n          dStack_248 = uStack_2b8;\n          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);\n          unaff_s6 = unaff_s6 + 1;\n          iVar15 = piVar10[10];\n          iVar20 = piVar10[9];\n          iVar5 = iVar15 + unaff_s8;\n          unaff_s8 = unaff_s8 + 0x58;\n          *(undefined8 *)(iVar5 + 0x28) = uStack_258;\n          *(undefined8 *)(iVar5 + 0x30) = uStack_260;\n          *(undefined8 *)(iVar5 + 0x38) = uStack_268;\n        }" ({ "{") (expression_statement "iVar15 = iVar15 + unaff_s8;" (assignment_expression "iVar15 = iVar15 + unaff_s8" (identifier "iVar15") (= "=") (binary_expression "iVar15 + unaff_s8" (identifier "iVar15") (+ "+") (identifier "unaff_s8"))) (; ";")) (expression_statement "uStack_258 = *(undefined8 *)(iVar15 + 0x28);" (assignment_expression "uStack_258 = *(undefined8 *)(iVar15 + 0x28)" (identifier "uStack_258") (= "=") (pointer_expression "*(undefined8 *)(iVar15 + 0x28)" (* "*") (cast_expression "(undefined8 *)(iVar15 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x28)" (( "(") (binary_expression "iVar15 + 0x28" (identifier "iVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uStack_260 = *(undefined8 *)(iVar15 + 0x30);" (assignment_expression "uStack_260 = *(undefined8 *)(iVar15 + 0x30)" (identifier "uStack_260") (= "=") (pointer_expression "*(undefined8 *)(iVar15 + 0x30)" (* "*") (cast_expression "(undefined8 *)(iVar15 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x30)" (( "(") (binary_expression "iVar15 + 0x30" (identifier "iVar15") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uStack_268 = *(undefined8 *)(iVar15 + 0x38);" (assignment_expression "uStack_268 = *(undefined8 *)(iVar15 + 0x38)" (identifier "uStack_268") (= "=") (pointer_expression "*(undefined8 *)(iVar15 + 0x38)" (* "*") (cast_expression "(undefined8 *)(iVar15 + 0x38)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x38)" (( "(") (binary_expression "iVar15 + 0x38" (identifier "iVar15") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if (uStack_294 < 0xb) {\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }" (if "if") (parenthesized_expression "(uStack_294 < 0xb)" (( "(") (binary_expression "uStack_294 < 0xb" (identifier "uStack_294") (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n                    \n                    \n            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();\n            return puVar22;\n          }" ({ "{") (expression_statement "puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();" (assignment_expression "puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))()" (identifier "puVar22") (= "=") (cast_expression "(undefined *)(*(pcStack_2a0 + *unaff_s5))()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(pcStack_2a0 + *unaff_s5))()" (parenthesized_expression "(*(pcStack_2a0 + *unaff_s5))" (( "(") (pointer_expression "*(pcStack_2a0 + *unaff_s5)" (* "*") (parenthesized_expression "(pcStack_2a0 + *unaff_s5)" (( "(") (binary_expression "pcStack_2a0 + *unaff_s5" (identifier "pcStack_2a0") (+ "+") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5"))) () ")"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}"))) (expression_statement "pdStack_2b0 = pdStack_284;" (assignment_expression "pdStack_2b0 = pdStack_284" (identifier "pdStack_2b0") (= "=") (identifier "pdStack_284")) (; ";")) (expression_statement "uStack_2b8 = (double)uStack_268;" (assignment_expression "uStack_2b8 = (double)uStack_268" (identifier "uStack_2b8") (= "=") (cast_expression "(double)uStack_268" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uStack_268"))) (; ";")) (expression_statement "pdStack_2ac = &dStack_218;" (assignment_expression "pdStack_2ac = &dStack_218" (identifier "pdStack_2ac") (= "=") (pointer_expression "&dStack_218" (& "&") (identifier "dStack_218"))) (; ";")) (expression_statement "pdStack_2a8 = &dStack_248;" (assignment_expression "pdStack_2a8 = &dStack_248" (identifier "pdStack_2a8") (= "=") (pointer_expression "&dStack_248" (& "&") (identifier "dStack_248"))) (; ";")) (expression_statement "(**(code **)(pcStack_2a0 + -0x7b7c))();" (call_expression "(**(code **)(pcStack_2a0 + -0x7b7c))()" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7b7c))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7b7c)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7b7c)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7b7c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7b7c)" (( "(") (binary_expression "pcStack_2a0 + -0x7b7c" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7b7c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);" (assignment_expression "dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" (identifier "dVar29") (= "=") (cast_expression "(double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x6ef8))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x6ef8)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x6ef8)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x6ef8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x6ef8)" (( "(") (binary_expression "pcStack_2a0 + -0x6ef8" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x6ef8")) () ")"))))) () ")")) (argument_list "(dVar31 - dStack_278,dVar35)" (( "(") (binary_expression "dVar31 - dStack_278" (identifier "dVar31") (- "-") (identifier "dStack_278")) (, ",") (identifier "dVar35") () ")"))))) (; ";")) (expression_statement "pdStack_2a8 = (double *)puStack_290;" (assignment_expression "pdStack_2a8 = (double *)puStack_290" (identifier "pdStack_2a8") (= "=") (cast_expression "(double *)puStack_290" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puStack_290"))) (; ";")) (expression_statement "pdStack_2ac = (double *)puStack_28c;" (assignment_expression "pdStack_2ac = (double *)puStack_28c" (identifier "pdStack_2ac") (= "=") (cast_expression "(double *)puStack_28c" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puStack_28c"))) (; ";")) (expression_statement "pdStack_2b0 = (double *)puStack_288;" (assignment_expression "pdStack_2b0 = (double *)puStack_288" (identifier "pdStack_2b0") (= "=") (cast_expression "(double *)puStack_288" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puStack_288"))) (; ";")) (expression_statement "dStack_250 = dVar29 / dVar35 + dStack_250;" (assignment_expression "dStack_250 = dVar29 / dVar35 + dStack_250" (identifier "dStack_250") (= "=") (binary_expression "dVar29 / dVar35 + dStack_250" (binary_expression "dVar29 / dVar35" (identifier "dVar29") (/ "/") (identifier "dVar35")) (+ "+") (identifier "dStack_250"))) (; ";")) (expression_statement "dStack_218 = param_5 * dVar32 * dStack_218;" (assignment_expression "dStack_218 = param_5 * dVar32 * dStack_218" (identifier "dStack_218") (= "=") (binary_expression "param_5 * dVar32 * dStack_218" (binary_expression "param_5 * dVar32" (identifier "param_5") (* "*") (identifier "dVar32")) (* "*") (identifier "dStack_218"))) (; ";")) (expression_statement "uStack_2b8 = dVar33 * dVar32 * dStack_248;" (assignment_expression "uStack_2b8 = dVar33 * dVar32 * dStack_248" (identifier "uStack_2b8") (= "=") (binary_expression "dVar33 * dVar32 * dStack_248" (binary_expression "dVar33 * dVar32" (identifier "dVar33") (* "*") (identifier "dVar32")) (* "*") (identifier "dStack_248"))) (; ";")) (expression_statement "dStack_248 = uStack_2b8;" (assignment_expression "dStack_248 = uStack_2b8" (identifier "dStack_248") (= "=") (identifier "uStack_2b8")) (; ";")) (expression_statement "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);" (call_expression "(**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7230))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7230)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7230)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7230)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7230)" (( "(") (binary_expression "pcStack_2a0 + -0x7230" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7230")) () ")"))))) () ")")) (argument_list "(dStack_250,dStack_218)" (( "(") (identifier "dStack_250") (, ",") (identifier "dStack_218") () ")"))) (; ";")) (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" (identifier "unaff_s6") (= "=") (binary_expression "unaff_s6 + 1" (identifier "unaff_s6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar15 = piVar10[10];" (assignment_expression "iVar15 = piVar10[10]" (identifier "iVar15") (= "=") (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "iVar20 = piVar10[9];" (assignment_expression "iVar20 = piVar10[9]" (identifier "iVar20") (= "=") (subscript_expression "piVar10[9]" (identifier "piVar10") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar5 = iVar15 + unaff_s8;" (assignment_expression "iVar5 = iVar15 + unaff_s8" (identifier "iVar5") (= "=") (binary_expression "iVar15 + unaff_s8" (identifier "iVar15") (+ "+") (identifier "unaff_s8"))) (; ";")) (expression_statement "unaff_s8 = unaff_s8 + 0x58;" (assignment_expression "unaff_s8 = unaff_s8 + 0x58" (identifier "unaff_s8") (= "=") (binary_expression "unaff_s8 + 0x58" (identifier "unaff_s8") (+ "+") (number_literal "0x58"))) (; ";")) (expression_statement "*(undefined8 *)(iVar5 + 0x28) = uStack_258;" (assignment_expression "*(undefined8 *)(iVar5 + 0x28) = uStack_258" (pointer_expression "*(undefined8 *)(iVar5 + 0x28)" (* "*") (cast_expression "(undefined8 *)(iVar5 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uStack_258")) (; ";")) (expression_statement "*(undefined8 *)(iVar5 + 0x30) = uStack_260;" (assignment_expression "*(undefined8 *)(iVar5 + 0x30) = uStack_260" (pointer_expression "*(undefined8 *)(iVar5 + 0x30)" (* "*") (cast_expression "(undefined8 *)(iVar5 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x30)" (( "(") (binary_expression "iVar5 + 0x30" (identifier "iVar5") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uStack_260")) (; ";")) (expression_statement "*(undefined8 *)(iVar5 + 0x38) = uStack_268;" (assignment_expression "*(undefined8 *)(iVar5 + 0x38) = uStack_268" (pointer_expression "*(undefined8 *)(iVar5 + 0x38)" (* "*") (cast_expression "(undefined8 *)(iVar5 + 0x38)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uStack_268")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s6 < iVar20)" (( "(") (binary_expression "unaff_s6 < iVar20" (identifier "unaff_s6") (< "<") (identifier "iVar20")) () ")")) (; ";")) (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x79dc)" (( "(") (binary_expression "pcStack_2a0 + -0x79dc" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x79dc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" (else "else") (compound_statement "{\n        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);\n      }" ({ "{") (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x79dc)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcStack_2a0 + -0x79dc)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x79dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x79dc)" (( "(") (binary_expression "pcStack_2a0 + -0x79dc" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x79dc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_a0 = &dStack_218;" (assignment_expression "local_a0 = &dStack_218" (identifier "local_a0") (= "=") (pointer_expression "&dStack_218" (& "&") (identifier "dStack_218"))) (; ";")) (expression_statement "pdStack_e8 = &dStack_248;" (assignment_expression "pdStack_e8 = &dStack_248" (identifier "pdStack_e8") (= "=") (pointer_expression "&dStack_248" (& "&") (identifier "dStack_248"))) (; ";")) (expression_statement "dStack_248 = 0.0;" (assignment_expression "dStack_248 = 0.0" (identifier "dStack_248") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "uVar3 = (*pcVar25)(piVar10,iVar2);" (assignment_expression "uVar3 = (*pcVar25)(piVar10,iVar2)" (identifier "uVar3") (= "=") (call_expression "(*pcVar25)(piVar10,iVar2)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(piVar10,iVar2)" (( "(") (identifier "piVar10") (, ",") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x73fc)" (( "(") (binary_expression "pcStack_2a0 + -0x73fc" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (; ";")) (if_statement "if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" (if "if") (parenthesized_expression "(((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))))" (( "(") (binary_expression "((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))\n         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))" (parenthesized_expression "((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))" (( "(") (binary_expression "(iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (parenthesized_expression "(iVar15 == 4)" (( "(") (binary_expression "iVar15 == 4" (identifier "iVar15") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (( "(") (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x73fc)" (( "(") (binary_expression "pcStack_2a0 + -0x73fc" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar15 == 3" (identifier "iVar15") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))" (( "(") (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))" (( "(") (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x73fc)" (( "(") (binary_expression "pcStack_2a0 + -0x73fc" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar15 == 4 ||\n             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (binary_expression "iVar15 == 4" (identifier "iVar15") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)" (( "(") (comma_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3" (assignment_expression "iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x73fc))(piVar10)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x73fc))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x73fc)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x73fc)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x73fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x73fc)" (( "(") (binary_expression "pcStack_2a0 + -0x73fc" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x73fc")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar15 == 3" (identifier "iVar15") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcStack_2a0 + -0x7774))(7);\n        iVar20 = piVar10[7];\n        iVar15 = iVar20;\n        if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar15 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar20 = piVar10[7];" (assignment_expression "iVar20 = piVar10[7]" (identifier "iVar20") (= "=") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar15 = iVar20;" (assignment_expression "iVar15 = iVar20" (identifier "iVar15") (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (iVar20 < 0) {\n          iVar15 = iVar20 + 0x3f;\n        }" (if "if") (parenthesized_expression "(iVar20 < 0)" (( "(") (binary_expression "iVar20 < 0" (identifier "iVar20") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar15 = iVar20 + 0x3f;\n        }" ({ "{") (expression_statement "iVar15 = iVar20 + 0x3f;" (assignment_expression "iVar15 = iVar20 + 0x3f" (identifier "iVar15") (= "=") (binary_expression "iVar20 + 0x3f" (identifier "iVar20") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (if_statement "if (extraout_v1_04 < iVar15 >> 6) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }" (if "if") (parenthesized_expression "(extraout_v1_04 < iVar15 >> 6)" (( "(") (binary_expression "extraout_v1_04 < iVar15 >> 6" (identifier "extraout_v1_04") (< "<") (binary_expression "iVar15 >> 6" (identifier "iVar15") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          bVar1 = extraout_v1_06 < 2;\n        }" ({ "{") (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_06 < 2;" (assignment_expression "bVar1 = extraout_v1_06 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_06 < 2" (identifier "extraout_v1_06") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n          bVar1 = iVar20 < 0x80;\n        }" (else "else") (compound_statement "{\n          bVar1 = iVar20 < 0x80;\n        }" ({ "{") (expression_statement "bVar1 = iVar20 < 0x80;" (assignment_expression "bVar1 = iVar20 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar20 < 0x80" (identifier "iVar20") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" (identifier "iVar15") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" (if "if") (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(pcStack_2a0 + -0x7774))(7);\n          iVar15 = piVar10[7];\n          if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }\n          iVar15 = iVar15 >> 6;\n          if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }\n        }" ({ "{") (expression_statement "(**(code **)(pcStack_2a0 + -0x7774))(7);" (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar15 = piVar10[7];" (assignment_expression "iVar15 = piVar10[7]" (identifier "iVar15") (= "=") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (iVar15 < 0) {\n            iVar15 = iVar15 + 0x3f;\n          }" (if "if") (parenthesized_expression "(iVar15 < 0)" (( "(") (binary_expression "iVar15 < 0" (identifier "iVar15") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            iVar15 = iVar15 + 0x3f;\n          }" ({ "{") (expression_statement "iVar15 = iVar15 + 0x3f;" (assignment_expression "iVar15 = iVar15 + 0x3f" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 0x3f" (identifier "iVar15") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar15 = iVar15 >> 6;" (assignment_expression "iVar15 = iVar15 >> 6" (identifier "iVar15") (= "=") (binary_expression "iVar15 >> 6" (identifier "iVar15") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1_05 < iVar15) {\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" (if "if") (parenthesized_expression "(extraout_v1_05 < iVar15)" (( "(") (binary_expression "extraout_v1_05 < iVar15" (identifier "extraout_v1_05") (< "<") (identifier "iVar15")) () ")")) (compound_statement "{\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            goto LAB_000cdc0c;\n          }" ({ "{") (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (goto_statement "goto LAB_000cdc0c;" (goto "goto") (statement_identifier "LAB_000cdc0c") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" (else "else") (compound_statement "{\n        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }\n        uVar36 = (*pcVar25)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }\n      }" ({ "{") (expression_statement "uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);" (assignment_expression "uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7)" (identifier "uVar36") (= "=") (call_expression "(**(code **)(pcStack_2a0 + -0x7774))(7)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7774))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7774)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }\n        else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }\n        }" ({ "{") (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" (if "if") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            uVar36 = (*pcVar25)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;\n            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n            if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }\n          }" ({ "{") (expression_statement "uVar36 = (*pcVar25)(7);" (assignment_expression "uVar36 = (*pcVar25)(7)" (identifier "uVar36") (= "=") (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cd4bc;" (goto "goto") (statement_identifier "LAB_000cd4bc") (; ";"))) (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar36 < 2) {\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }" (if "if") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              iVar15 = 1;\n              goto LAB_000cd4d8;\n            }" ({ "{") (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" (identifier "iVar15") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000cd4d8;" (goto "goto") (statement_identifier "LAB_000cd4d8") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" (else "else") (compound_statement "{\nLAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);\n        }" ({ "{") (labeled_statement "LAB_000cd4bc:\n          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (statement_identifier "LAB_000cd4bc") (: ":") (expression_statement "pcVar25 = *(code **)(pcStack_2a0 + -0x7774);" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar36 = (*pcVar25)(7);" (assignment_expression "uVar36 = (*pcVar25)(7)" (identifier "uVar36") (= "=") (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }\n        else {\n          iVar15 = 2;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) &&\n           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)" (( "(") (comma_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2" (assignment_expression "pcVar25 = *(code **)(pcStack_2a0 + -0x7774)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcStack_2a0 + -0x7774)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7774)" (( "(") (binary_expression "pcStack_2a0 + -0x7774" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7774")) () ")"))))) (, ",") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\nLAB_000cdc0c:\n          (*pcVar25)(7);\n          iVar15 = extraout_v1_03;\n        }" ({ "{") (labeled_statement "LAB_000cdc0c:\n          (*pcVar25)(7);" (statement_identifier "LAB_000cdc0c") (: ":") (expression_statement "(*pcVar25)(7);" (call_expression "(*pcVar25)(7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";"))) (expression_statement "iVar15 = extraout_v1_03;" (assignment_expression "iVar15 = extraout_v1_03" (identifier "iVar15") (= "=") (identifier "extraout_v1_03")) (; ";")) (} "}")) (else_clause "else {\n          iVar15 = 2;\n        }" (else "else") (compound_statement "{\n          iVar15 = 2;\n        }" ({ "{") (expression_statement "iVar15 = 2;" (assignment_expression "iVar15 = 2" (identifier "iVar15") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000cd4d8:\n      iStack_1f4 = iStack_298;" (statement_identifier "LAB_000cd4d8") (: ":") (expression_statement "iStack_1f4 = iStack_298;" (assignment_expression "iStack_1f4 = iStack_298" (identifier "iStack_1f4") (= "=") (identifier "iStack_298")) (; ";"))) (expression_statement "puStack_1f0 = (undefined *)0x1;" (assignment_expression "puStack_1f0 = (undefined *)0x1" (identifier "puStack_1f0") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pdVar12 = local_a0;" (assignment_expression "pdVar12 = local_a0" (identifier "pdVar12") (= "=") (identifier "local_a0")) (; ";")) (expression_statement "dStack_210 = dVar31;" (assignment_expression "dStack_210 = dVar31" (identifier "dStack_210") (= "=") (identifier "dVar31")) (; ";")) (expression_statement "dStack_208 = param_5;" (assignment_expression "dStack_208 = param_5" (identifier "dStack_208") (= "=") (identifier "param_5")) (; ";")) (expression_statement "piStack_200 = piVar10;" (assignment_expression "piStack_200 = piVar10" (identifier "piStack_200") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "iStack_1fc = iVar2;" (assignment_expression "iStack_1fc = iVar2" (identifier "iStack_1fc") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "uStack_1f8 = uVar3;" (assignment_expression "uStack_1f8 = uVar3" (identifier "uStack_1f8") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "pdStack_1ec = pdStack_e8;" (assignment_expression "pdStack_1ec = pdStack_e8" (identifier "pdStack_1ec") (= "=") (identifier "pdStack_e8")) (; ";")) (expression_statement "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);" (call_expression "(**(code **)(pcStack_2a0 + -0x7718))\n                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x7718))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x7718)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x7718)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x7718)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7718)" (( "(") (binary_expression "pcStack_2a0 + -0x7718" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7718")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0)" (( "(") (binary_expression "*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8" (pointer_expression "*(int *)(pcStack_2a0 + -0x7e4c)" (* "*") (cast_expression "(int *)(pcStack_2a0 + -0x7e4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x7e4c)" (( "(") (binary_expression "pcStack_2a0 + -0x7e4c" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x7e4c")) () ")")))) (+ "+") (number_literal "0x59a8")) (, ",") (identifier "local_a0") (, ",") (identifier "iVar15") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar22 = puStack_1f0;" (assignment_expression "puVar22 = puStack_1f0" (identifier "puVar22") (= "=") (identifier "puStack_1f0")) (; ";")) (expression_statement "(**(code **)(pcStack_2a0 + -0x79bc))(uVar3);" (call_expression "(**(code **)(pcStack_2a0 + -0x79bc))(uVar3)" (parenthesized_expression "(**(code **)(pcStack_2a0 + -0x79bc))" (( "(") (pointer_expression "**(code **)(pcStack_2a0 + -0x79bc)" (* "*") (pointer_expression "*(code **)(pcStack_2a0 + -0x79bc)" (* "*") (cast_expression "(code **)(pcStack_2a0 + -0x79bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2a0 + -0x79bc)" (( "(") (binary_expression "pcStack_2a0 + -0x79bc" (identifier "pcStack_2a0") (+ "+") (number_literal "-0x79bc")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" (else "else") (compound_statement "{\n      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;\n      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);\n      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);\n      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);\n      if (pdVar4 != (double *)0x0) goto LAB_000cd380;\nLAB_000cd570:\n      puVar22 = (undefined *)0x0;\n    }" ({ "{") (expression_statement "iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;" (assignment_expression "iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400" (identifier "iVar15") (= "=") (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5400" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f8)" (( "(") (binary_expression "pcVar26 + 0x2db5f8" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f8")) () ")")))) (+ "+") (number_literal "0x5400"))) (; ";")) (expression_statement "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);" (assignment_expression "pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" (identifier "pdVar12") (= "=") (cast_expression "(double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x2db5f8) + 0x5060)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x2db5f8) + 0x5060" (pointer_expression "*(int *)(pcVar26 + 0x2db5f8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f8)" (( "(") (binary_expression "pcVar26 + 0x2db5f8" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f8")) () ")")))) (+ "+") (number_literal "0x5060")) () ")")))) (; ";")) (expression_statement "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);" (assignment_expression "uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" (identifier "uStack_2b8") (= "=") (cast_expression "(double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" (identifier "CONCAT44") (argument_list "(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x2db5f4) + -0x62ac" (pointer_expression "*(int *)(pcVar26 + 0x2db5f4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x2db5f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x2db5f4)" (( "(") (binary_expression "pcVar26 + 0x2db5f4" (identifier "pcVar26") (+ "+") (number_literal "0x2db5f4")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "piVar10 + 0xd0" (identifier "piVar10") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);" (call_expression "(**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dbef0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x2dbef0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x2dbef0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x2dbef0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x2dbef0)" (( "(") (binary_expression "pcVar26 + 0x2dbef0" (identifier "pcVar26") (+ "+") (number_literal "0x2dbef0")) () ")"))))) () ")")) (argument_list "(0x8000,pdVar12,iVar15,0xe50)" (( "(") (number_literal "0x8000") (, ",") (identifier "pdVar12") (, ",") (identifier "iVar15") (, ",") (number_literal "0xe50") () ")"))) (; ";")) (if_statement "if (pdVar4 != (double *)0x0) goto LAB_000cd380;" (if "if") (parenthesized_expression "(pdVar4 != (double *)0x0)" (( "(") (binary_expression "pdVar4 != (double *)0x0" (identifier "pdVar4") (!= "!=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000cd380;" (goto "goto") (statement_identifier "LAB_000cd380") (; ";"))) (labeled_statement "LAB_000cd570:\n      puVar22 = (undefined *)0x0;" (statement_identifier "LAB_000cd570") (: ":") (expression_statement "puVar22 = (undefined *)0x0;" (assignment_expression "puVar22 = (undefined *)0x0" (identifier "puVar22") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")))) (expression_statement "piVar10 = piStack_1e4;" (assignment_expression "piVar10 = piStack_1e4" (identifier "piVar10") (= "=") (identifier "piStack_1e4")) (; ";")) (expression_statement "unaff_s3 = iVar2;" (assignment_expression "unaff_s3 = iVar2" (identifier "unaff_s3") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "pcVar25 = pcStack_2a0;" (assignment_expression "pcVar25 = pcStack_2a0" (identifier "pcVar25") (= "=") (identifier "pcStack_2a0")) (; ";")) (if_statement "if (piStack_1e4 == (int *)*piVar21) {\n      return puVar22;\n    }" (if "if") (parenthesized_expression "(piStack_1e4 == (int *)*piVar21)" (( "(") (binary_expression "piStack_1e4 == (int *)*piVar21" (identifier "piStack_1e4") (== "==") (cast_expression "(int *)*piVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) () ")")) (compound_statement "{\n      return puVar22;\n    }" ({ "{") (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar25 = *(code **)(pcVar25 + -0x784c);" (assignment_expression "pcVar25 = *(code **)(pcVar25 + -0x784c)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar25 + -0x784c)" (* "*") (cast_expression "(code **)(pcVar25 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + -0x784c)" (( "(") (binary_expression "pcVar25 + -0x784c" (identifier "pcVar25") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar26 = NegateImage;" (assignment_expression "pcVar26 = NegateImage" (identifier "pcVar26") (= "=") (identifier "NegateImage")) (; ";")) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar23 = *(int **)(pcVar25 + 0x2db428);" (assignment_expression "piVar23 = *(int **)(pcVar25 + 0x2db428)" (identifier "piVar23") (= "=") (pointer_expression "*(int **)(pcVar25 + 0x2db428)" (* "*") (cast_expression "(int **)(pcVar25 + 0x2db428)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db428)" (( "(") (binary_expression "pcVar25 + 0x2db428" (identifier "pcVar25") (+ "+") (number_literal "0x2db428")) () ")"))))) (; ";")) (expression_statement "iStack_30c = *piVar23;" (assignment_expression "iStack_30c = *piVar23" (identifier "iStack_30c") (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "puStack_308 = puVar22;" (assignment_expression "puStack_308 = puVar22" (identifier "puStack_308") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "piStack_304 = piVar21;" (assignment_expression "piStack_304 = piVar21" (identifier "piStack_304") (= "=") (identifier "piVar21")) (; ";")) (expression_statement "pdStack_300 = local_a0;" (assignment_expression "pdStack_300 = local_a0" (identifier "pdStack_300") (= "=") (identifier "local_a0")) (; ";")) (expression_statement "iStack_2fc = unaff_s3;" (assignment_expression "iStack_2fc = unaff_s3" (identifier "iStack_2fc") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pdStack_2f8 = pdStack_e8;" (assignment_expression "pdStack_2f8 = pdStack_e8" (identifier "pdStack_2f8") (= "=") (identifier "pdStack_e8")) (; ";")) (expression_statement "piStack_2f4 = unaff_s5;" (assignment_expression "piStack_2f4 = unaff_s5" (identifier "piStack_2f4") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "iStack_2f0 = unaff_s6;" (assignment_expression "iStack_2f0 = unaff_s6" (identifier "iStack_2f0") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "piStack_2ec = unaff_s7;" (assignment_expression "piStack_2ec = unaff_s7" (identifier "piStack_2ec") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "iStack_2e8 = unaff_s8;" (assignment_expression "iStack_2e8 = unaff_s8" (identifier "iStack_2e8") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_2e4 = pcVar26;" (assignment_expression "pcStack_2e4 = pcVar26" (identifier "pcStack_2e4") (= "=") (identifier "pcVar26")) (; ";")) (expression_statement "dStack_2e0 = dVar31;" (assignment_expression "dStack_2e0 = dVar31" (identifier "dStack_2e0") (= "=") (identifier "dVar31")) (; ";")) (expression_statement "dStack_2d8 = param_5;" (assignment_expression "dStack_2d8 = param_5" (identifier "dStack_2d8") (= "=") (identifier "param_5")) (; ";")) (expression_statement "dStack_2d0 = dVar33;" (assignment_expression "dStack_2d0 = dVar33" (identifier "dStack_2d0") (= "=") (identifier "dVar33")) (; ";")) (if_statement "if (piVar10 == (int *)0x0) goto LAB_000ce444;" (if "if") (parenthesized_expression "(piVar10 == (int *)0x0)" (( "(") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000ce444;" (goto "goto") (statement_identifier "LAB_000ce444") (; ";"))) (if_statement "if (piVar10[0xcdb] == -0x54535255) {\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }" (if "if") (parenthesized_expression "(piVar10[0xcdb] == -0x54535255)" (( "(") (binary_expression "piVar10[0xcdb] == -0x54535255" (subscript_expression "piVar10[0xcdb]" (identifier "piVar10") ([ "[") (number_literal "0xcdb") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }\n    if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    uStack_324 = 0;\n    iStack_328 = 0;\n    uVar3 = (*pcVar26)(piVar10,iVar15);\n    if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }\n    if (iStack_30c == *piVar23) {\n      return puVar22;\n    }\n    (**(code **)(pcVar25 + 0x2db25c))();\n  }" ({ "{") (if_statement "if (piVar10[0xcd4] != 0) {\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }" (if "if") (parenthesized_expression "(piVar10[0xcd4] != 0)" (( "(") (binary_expression "piVar10[0xcd4] != 0" (subscript_expression "piVar10[0xcd4]" (identifier "piVar10") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);" (call_expression "(**(code **)(pcVar25 + 0x2db3d8))\n                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db3d8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db3d8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db3d8)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db3d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db3d8)" (( "(") (binary_expression "pcVar25 + 0x2db3d8" (identifier "pcVar25") (+ "+") (number_literal "0x2db3d8")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,\n                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53e8" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")")))) (+ "+") (number_literal "0x53e8")) (, ",") (number_literal "0xf59") (, ",") (binary_expression "*(int *)(pcVar25 + 0x2daadc) + -0x62ac" (pointer_expression "*(int *)(pcVar25 + 0x2daadc)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daadc)" (( "(") (binary_expression "pcVar25 + 0x2daadc" (identifier "pcVar25") (+ "+") (number_literal "0x2daadc")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "piVar10 + 0xd0" (identifier "piVar10") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*piVar10 == 2) {\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }\n    else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" (if "if") (parenthesized_expression "(*piVar10 == 2)" (( "(") (binary_expression "*piVar10 == 2" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar2 = piVar10[9];\n      if (iVar2 < 1) goto LAB_000cde94;\n      iVar20 = 0;\n      iVar5 = 0;\n      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);\n      do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" ({ "{") (expression_statement "iVar2 = piVar10[9];" (assignment_expression "iVar2 = piVar10[9]" (identifier "iVar2") (= "=") (subscript_expression "piVar10[9]" (identifier "piVar10") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (iVar2 < 1) goto LAB_000cde94;" (if "if") (parenthesized_expression "(iVar2 < 1)" (( "(") (binary_expression "iVar2 < 1" (identifier "iVar2") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000cde94;" (goto "goto") (statement_identifier "LAB_000cde94") (; ";"))) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);" (assignment_expression "dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" (identifier "dVar31") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x1a58)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x1a58" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daad8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daad8)" (( "(") (binary_expression "pcVar25 + 0x2daad8" (identifier "pcVar25") (+ "+") (number_literal "0x2daad8")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (do_statement "do {\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      } while (iVar5 != iVar2);" (do "do") (compound_statement "{\n        if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }\n        iVar5 = iVar5 + 1;\n        iVar20 = iVar20 + 0x58;\n      }" ({ "{") (if_statement "if (pdVar12 == (double *)0x0) {\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }\n        else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" (if "if") (parenthesized_expression "(pdVar12 == (double *)0x0)" (( "(") (binary_expression "pdVar12 == (double *)0x0" (identifier "pdVar12") (== "==") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000ce184:\n          iVar27 = piVar10[0xb4];\n          if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }\n          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }\n          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }\n        }" ({ "{") (labeled_statement "LAB_000ce184:\n          iVar27 = piVar10[0xb4];" (statement_identifier "LAB_000ce184") (: ":") (expression_statement "iVar27 = piVar10[0xb4];" (assignment_expression "iVar27 = piVar10[0xb4]" (identifier "iVar27") (= "=") (subscript_expression "piVar10[0xb4]" (identifier "piVar10") ([ "[") (number_literal "0xb4") (] "]"))) (; ";"))) (if_statement "if ((*(uint *)(iVar27 + 4) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }" (if "if") (parenthesized_expression "((*(uint *)(iVar27 + 4) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar27 + 4) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 4) & 2)" (( "(") (binary_expression "*(uint *)(iVar27 + 4) & 2" (pointer_expression "*(uint *)(iVar27 + 4)" (* "*") (cast_expression "(uint *)(iVar27 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 4)" (( "(") (binary_expression "iVar27 + 4" (identifier "iVar27") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);\n          }" ({ "{") (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x28) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x28)" (* "*") (cast_expression "(double *)(piVar10[10] + iVar20 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[10] + iVar20 + 0x28)" (( "(") (binary_expression "piVar10[10] + iVar20 + 0x28" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar20")) (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28)" (identifier "dVar31") (- "-") (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x28)" (* "*") (cast_expression "(double *)(piVar10[10] + iVar20 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[10] + iVar20 + 0x28)" (( "(") (binary_expression "piVar10[10] + iVar20 + 0x28" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar20")) (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }" (if "if") (parenthesized_expression "((*(uint *)(iVar27 + 0x10) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar27 + 0x10) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar27 + 0x10) & 2" (pointer_expression "*(uint *)(iVar27 + 0x10)" (* "*") (cast_expression "(uint *)(iVar27 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x10)" (( "(") (binary_expression "iVar27 + 0x10" (identifier "iVar27") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);\n          }" ({ "{") (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x30) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x30)" (* "*") (cast_expression "(double *)(piVar10[10] + iVar20 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[10] + iVar20 + 0x30)" (( "(") (binary_expression "piVar10[10] + iVar20 + 0x30" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar20")) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30)" (identifier "dVar31") (- "-") (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x30)" (* "*") (cast_expression "(double *)(piVar10[10] + iVar20 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[10] + iVar20 + 0x30)" (( "(") (binary_expression "piVar10[10] + iVar20 + 0x30" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar20")) (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }" (if "if") (parenthesized_expression "((*(uint *)(iVar27 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(uint *)(iVar27 + 0x1c) & 2) != 0" (parenthesized_expression "(*(uint *)(iVar27 + 0x1c) & 2)" (( "(") (binary_expression "*(uint *)(iVar27 + 0x1c) & 2" (pointer_expression "*(uint *)(iVar27 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar27 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x1c)" (( "(") (binary_expression "iVar27 + 0x1c" (identifier "iVar27") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);\n          }" ({ "{") (expression_statement "*(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);" (assignment_expression "*(double *)(piVar10[10] + iVar20 + 0x38) =\n                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38)" (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x38)" (* "*") (cast_expression "(double *)(piVar10[10] + iVar20 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[10] + iVar20 + 0x38)" (( "(") (binary_expression "piVar10[10] + iVar20 + 0x38" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar20")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38)" (identifier "dVar31") (- "-") (pointer_expression "*(double *)(piVar10[10] + iVar20 + 0x38)" (* "*") (cast_expression "(double *)(piVar10[10] + iVar20 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar10[10] + iVar20 + 0x38)" (( "(") (binary_expression "piVar10[10] + iVar20 + 0x38" (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar20")) (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" (else "else") (compound_statement "{\n          iVar27 = piVar10[10] + iVar20;\n          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;\n        }" ({ "{") (expression_statement "iVar27 = piVar10[10] + iVar20;" (assignment_expression "iVar27 = piVar10[10] + iVar20" (identifier "iVar27") (= "=") (binary_expression "piVar10[10] + iVar20" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "iVar20"))) (; ";")) (if_statement "if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;" (if "if") (parenthesized_expression "((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38)))" (( "(") (binary_expression "(*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&\n             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))" (parenthesized_expression "(*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30))" (( "(") (binary_expression "*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)" (pointer_expression "*(double *)(iVar27 + 0x28)" (* "*") (cast_expression "(double *)(iVar27 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x28)" (( "(") (binary_expression "iVar27 + 0x28" (identifier "iVar27") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (pointer_expression "*(double *)(iVar27 + 0x30)" (* "*") (cast_expression "(double *)(iVar27 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x30)" (( "(") (binary_expression "iVar27 + 0x30" (identifier "iVar27") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))" (( "(") (binary_expression "*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38)" (pointer_expression "*(double *)(iVar27 + 0x30)" (* "*") (cast_expression "(double *)(iVar27 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x30)" (( "(") (binary_expression "iVar27 + 0x30" (identifier "iVar27") (+ "+") (number_literal "0x30")) () ")")))) (== "==") (pointer_expression "*(double *)(iVar27 + 0x38)" (* "*") (cast_expression "(double *)(iVar27 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + 0x38)" (( "(") (binary_expression "iVar27 + 0x38" (identifier "iVar27") (+ "+") (number_literal "0x38")) () ")"))))) () ")"))) () ")")) (goto_statement "goto LAB_000ce184;" (goto "goto") (statement_identifier "LAB_000ce184") (; ";"))) (} "}")))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar20 = iVar20 + 0x58;" (assignment_expression "iVar20 = iVar20 + 0x58" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 0x58" (identifier "iVar20") (+ "+") (number_literal "0x58"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar5 != iVar2)" (( "(") (binary_expression "iVar5 != iVar2" (identifier "iVar5") (!= "!=") (identifier "iVar2")) () ")")) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0cc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db0cc)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db0cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db0cc)" (( "(") (binary_expression "pcVar25 + 0x2db0cc" (identifier "pcVar25") (+ "+") (number_literal "0x2db0cc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" (else "else") (compound_statement "{\nLAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);\n    }" ({ "{") (labeled_statement "LAB_000cde94:\n      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" (statement_identifier "LAB_000cde94") (: ":") (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0cc);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0cc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db0cc)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db0cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db0cc)" (( "(") (binary_expression "pcVar25 + 0x2db0cc" (identifier "pcVar25") (+ "+") (number_literal "0x2db0cc")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uStack_324 = 0;" (assignment_expression "uStack_324 = 0" (identifier "uStack_324") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_328 = 0;" (assignment_expression "iStack_328 = 0" (identifier "iStack_328") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar3 = (*pcVar26)(piVar10,iVar15);" (assignment_expression "uVar3 = (*pcVar26)(piVar10,iVar15)" (identifier "uVar3") (= "=") (call_expression "(*pcVar26)(piVar10,iVar15)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(piVar10,iVar15)" (( "(") (identifier "piVar10") (, ",") (identifier "iVar15") () ")")))) (; ";")) (if_statement "if (pdVar12 == (double *)0x0) {\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }\n    else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" (if "if") (parenthesized_expression "(pdVar12 == (double *)0x0)" (( "(") (binary_expression "pdVar12 == (double *)0x0" (identifier "pdVar12") (== "==") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);\n      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }\nLAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;\n      piStack_310 = &iStack_328;\n      piStack_320 = piVar10;\n      iStack_31c = iVar15;\n      uStack_318 = uVar3;\n      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);\n      puVar22 = puStack_314;\n      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);\n    }" ({ "{") (expression_statement "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db6ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db6ac)" (( "(") (binary_expression "pcVar25 + 0x2db6ac" (identifier "pcVar25") (+ "+") (number_literal "0x2db6ac")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (; ";")) (if_statement "if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }\n      else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" (if "if") (parenthesized_expression "(((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))))" (( "(") (binary_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&\n         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db6ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db6ac)" (( "(") (binary_expression "pcVar25 + 0x2db6ac" (identifier "pcVar25") (+ "+") (number_literal "0x2db6ac")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))" (( "(") (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3))" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db6ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db6ac)" (( "(") (binary_expression "pcVar25 + 0x2db6ac" (identifier "pcVar25") (+ "+") (number_literal "0x2db6ac")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar2 == 4 ||\n          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)" (( "(") (comma_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3" (assignment_expression "iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2db6ac))(piVar10)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6ac))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db6ac)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db6ac)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db6ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db6ac)" (( "(") (binary_expression "pcVar25 + 0x2db6ac" (identifier "pcVar25") (+ "+") (number_literal "0x2db6ac")) () ")"))))) () ")")) (argument_list "(piVar10)" (( "(") (identifier "piVar10") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar25 + 0x2db334))(7);\n        iVar20 = piVar10[7];\n        iVar2 = iVar20;\n        if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }\n        if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }\n        iVar2 = 1;\n        if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db334)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar20 = piVar10[7];" (assignment_expression "iVar20 = piVar10[7]" (identifier "iVar20") (= "=") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar2 = iVar20;" (assignment_expression "iVar2 = iVar20" (identifier "iVar2") (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (iVar20 < 0) {\n          iVar2 = iVar20 + 0x3f;\n        }" (if "if") (parenthesized_expression "(iVar20 < 0)" (( "(") (binary_expression "iVar20 < 0" (identifier "iVar20") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar2 = iVar20 + 0x3f;\n        }" ({ "{") (expression_statement "iVar2 = iVar20 + 0x3f;" (assignment_expression "iVar2 = iVar20 + 0x3f" (identifier "iVar2") (= "=") (binary_expression "iVar20 + 0x3f" (identifier "iVar20") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (if_statement "if (extraout_v1_07 < iVar2 >> 6) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }\n        else {\n          bVar1 = iVar20 < 0x80;\n        }" (if "if") (parenthesized_expression "(extraout_v1_07 < iVar2 >> 6)" (( "(") (binary_expression "extraout_v1_07 < iVar2 >> 6" (identifier "extraout_v1_07") (< "<") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          bVar1 = extraout_v1_11 < 2;\n        }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db334)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_11 < 2;" (assignment_expression "bVar1 = extraout_v1_11 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_11 < 2" (identifier "extraout_v1_11") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n          bVar1 = iVar20 < 0x80;\n        }" (else "else") (compound_statement "{\n          bVar1 = iVar20 < 0x80;\n        }" ({ "{") (expression_statement "bVar1 = iVar20 < 0x80;" (assignment_expression "bVar1 = iVar20 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar20 < 0x80" (identifier "iVar20") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" (if "if") (parenthesized_expression "((bool)(bVar1 ^ 1))" (( "(") (cast_expression "(bool)(bVar1 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar1 ^ 1)" (( "(") (binary_expression "bVar1 ^ 1" (identifier "bVar1") (^ "^") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = piVar10[7];\n          if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }\n          iVar2 = iVar2 >> 6;\n          if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }\n        }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db334)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = piVar10[7];" (assignment_expression "iVar2 = piVar10[7]" (identifier "iVar2") (= "=") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (iVar2 < 0) {\n            iVar2 = iVar2 + 0x3f;\n          }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            iVar2 = iVar2 + 0x3f;\n          }" ({ "{") (expression_statement "iVar2 = iVar2 + 0x3f;" (assignment_expression "iVar2 = iVar2 + 0x3f" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 0x3f" (identifier "iVar2") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar2 = iVar2 >> 6;" (assignment_expression "iVar2 = iVar2 >> 6" (identifier "iVar2") (= "=") (binary_expression "iVar2 >> 6" (identifier "iVar2") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1_08 < iVar2) {\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" (if "if") (parenthesized_expression "(extraout_v1_08 < iVar2)" (( "(") (binary_expression "extraout_v1_08 < iVar2" (identifier "extraout_v1_08") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n            (**(code **)(pcVar25 + 0x2db334))(7);\n            iVar2 = extraout_v1_10;\n          }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db334)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = extraout_v1_10;" (assignment_expression "iVar2 = extraout_v1_10" (identifier "iVar2") (= "=") (identifier "extraout_v1_10")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" (else "else") (compound_statement "{\n        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);\n        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }\n        uVar36 = (*pcVar26)(7);\n        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }\n      }" ({ "{") (expression_statement "uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);" (assignment_expression "uVar36 = (**(code **)(pcVar25 + 0x2db334))(7)" (identifier "uVar36") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db334)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) == 0) {\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }\n        else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" (if "if") (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n          if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }\n        }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar36 < 2) {\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" (if "if") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            uVar36 = (*pcVar26)(7);\n            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;\n            pcVar26 = *(code **)(pcVar25 + 0x2db334);\n            if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }\n          }" ({ "{") (expression_statement "uVar36 = (*pcVar26)(7);" (assignment_expression "uVar36 = (*pcVar26)(7)" (identifier "uVar36") (= "=") (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ce288;" (goto "goto") (statement_identifier "LAB_000ce288") (; ";"))) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar36 < 2) {\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" (if "if") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              iVar2 = 1;\n              goto LAB_000ce2a0;\n            }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000ce2a0;" (goto "goto") (statement_identifier "LAB_000ce2a0") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" (else "else") (compound_statement "{\nLAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);\n        }" ({ "{") (labeled_statement "LAB_000ce288:\n          pcVar26 = *(code **)(pcVar25 + 0x2db334);" (statement_identifier "LAB_000ce288") (: ":") (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db334);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db334)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar36 = (*pcVar26)(7);" (assignment_expression "uVar36 = (*pcVar26)(7)" (identifier "uVar36") (= "=") (call_expression "(*pcVar26)(7)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }\n        else {\n          iVar2 = 2;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)" (parenthesized_expression "((int)((ulonglong)uVar36 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar36 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar36")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar36 < 2)" (( "(") (binary_expression "(uint)uVar36 < 2" (cast_expression "(uint)uVar36" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar36")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar25 + 0x2db334))(7);\n          iVar2 = extraout_v1_09;\n        }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0x2db334))(7);" (call_expression "(**(code **)(pcVar25 + 0x2db334))(7)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db334))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db334)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db334)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db334)" (( "(") (binary_expression "pcVar25 + 0x2db334" (identifier "pcVar25") (+ "+") (number_literal "0x2db334")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = extraout_v1_09;" (assignment_expression "iVar2 = extraout_v1_09" (identifier "iVar2") (= "=") (identifier "extraout_v1_09")) (; ";")) (} "}")) (else_clause "else {\n          iVar2 = 2;\n        }" (else "else") (compound_statement "{\n          iVar2 = 2;\n        }" ({ "{") (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" (identifier "iVar2") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000ce2a0:\n      puStack_314 = (undefined *)0x1;" (statement_identifier "LAB_000ce2a0") (: ":") (expression_statement "puStack_314 = (undefined *)0x1;" (assignment_expression "puStack_314 = (undefined *)0x1" (identifier "puStack_314") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (expression_statement "piStack_310 = &iStack_328;" (assignment_expression "piStack_310 = &iStack_328" (identifier "piStack_310") (= "=") (pointer_expression "&iStack_328" (& "&") (identifier "iStack_328"))) (; ";")) (expression_statement "piStack_320 = piVar10;" (assignment_expression "piStack_320 = piVar10" (identifier "piStack_320") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "iStack_31c = iVar15;" (assignment_expression "iStack_31c = iVar15" (identifier "iStack_31c") (= "=") (identifier "iVar15")) (; ";")) (expression_statement "uStack_318 = uVar3;" (assignment_expression "uStack_318 = uVar3" (identifier "uStack_318") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);" (call_expression "(**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db390))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db390)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db390)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db390)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db390)" (( "(") (binary_expression "pcVar25 + 0x2db390" (identifier "pcVar25") (+ "+") (number_literal "0x2db390")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2dac5c) + -0xc84" (pointer_expression "*(int *)(pcVar25 + 0x2dac5c)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2dac5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2dac5c)" (( "(") (binary_expression "pcVar25 + 0x2dac5c" (identifier "pcVar25") (+ "+") (number_literal "0x2dac5c")) () ")")))) (+ "+") (number_literal "-0xc84")) (, ",") (pointer_expression "&piStack_320" (& "&") (identifier "piStack_320")) (, ",") (identifier "iVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar22 = puStack_314;" (assignment_expression "puVar22 = puStack_314" (identifier "puVar22") (= "=") (identifier "puStack_314")) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0x2db0ec))(uVar3);" (call_expression "(**(code **)(pcVar25 + 0x2db0ec))(uVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db0ec))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db0ec)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db0ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db0ec)" (( "(") (binary_expression "pcVar25 + 0x2db0ec" (identifier "pcVar25") (+ "+") (number_literal "0x2db0ec")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" (else "else") (compound_statement "{\n      if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }\n      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\nLAB_000ce0b0:\n      puVar22 = (undefined *)0x1;\n      (*pcVar26)(uVar3);\n    }" ({ "{") (if_statement "if (0 < piVar10[7]) {\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }" (if "if") (parenthesized_expression "(0 < piVar10[7])" (( "(") (binary_expression "0 < piVar10[7]" (number_literal "0") (< "<") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n        iVar5 = 0;\n        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);\n        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);\n        iVar2 = *(int *)(pcVar25 + 0x2daae0);\n        iVar20 = piVar10[6];\n        dVar31 = dVar33;\n        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }\n      }" ({ "{") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);" (assignment_expression "dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" (identifier "dVar33") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x13f8)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x13f8" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daad8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daad8)" (( "(") (binary_expression "pcVar25 + 0x2daad8" (identifier "pcVar25") (+ "+") (number_literal "0x2daad8")) () ")")))) (+ "+") (number_literal "0x13f8")) () ")"))))) (; ";")) (expression_statement "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);" (assignment_expression "uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" (identifier "uVar34") (= "=") (binary_expression "(ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x2daad8) + 0x1a50)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0x1a50" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daad8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daad8)" (( "(") (binary_expression "pcVar25 + 0x2daad8" (identifier "pcVar25") (+ "+") (number_literal "0x2daad8")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar25 + 0x2daae0);" (assignment_expression "iVar2 = *(int *)(pcVar25 + 0x2daae0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")"))))) (; ";")) (expression_statement "iVar20 = piVar10[6];" (assignment_expression "iVar20 = piVar10[6]" (identifier "iVar20") (= "=") (subscript_expression "piVar10[6]" (identifier "piVar10") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "dVar31 = dVar33;" (assignment_expression "dVar31 = dVar33" (identifier "dVar31") (= "=") (identifier "dVar33")) (; ";")) (while_statement "while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0) {\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }" (while "while") (parenthesized_expression "(pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0)" (( "(") (comma_expression "pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),\n              pfVar7 != (float *)0x0" (assignment_expression "pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" (identifier "pfVar7") (= "=") (cast_expression "(float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db844))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db844)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db844)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db844)" (( "(") (binary_expression "pcVar25 + 0x2db844" (identifier "pcVar25") (+ "+") (number_literal "0x2db844")) () ")"))))) () ")")) (argument_list "(uVar3,0,iVar5,iVar20,1,iVar15)" (( "(") (identifier "uVar3") (, ",") (number_literal "0") (, ",") (identifier "iVar5") (, ",") (identifier "iVar20") (, ",") (number_literal "1") (, ",") (identifier "iVar15") () ")"))))) (, ",") (binary_expression "pfVar7 != (float *)0x0" (identifier "pfVar7") (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n          iVar27 = piVar10[6];\n          iVar20 = 0;\n          if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }\nLAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);\n          if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }\n          iVar5 = iVar5 + 1;\n          if (piVar10[7] <= iVar5) break;\n          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);\n          if (iVar20 == 0) goto LAB_000ce0b0;\n          iVar20 = piVar10[6];\n        }" ({ "{") (expression_statement "iVar27 = piVar10[6];" (assignment_expression "iVar27 = piVar10[6]" (identifier "iVar27") (= "=") (subscript_expression "piVar10[6]" (identifier "piVar10") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar27) {\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }" (if "if") (parenthesized_expression "(0 < iVar27)" (( "(") (binary_expression "0 < iVar27" (number_literal "0") (< "<") (identifier "iVar27")) () ")")) (compound_statement "{\n            iVar19 = piVar10[0xb0];\n            piVar21 = (int *)piVar10[0xb4];\n            iVar17 = piVar21[2];\n            iVar16 = piVar21[5];\n            iVar18 = piVar21[8];\n            do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);\n          }" ({ "{") (expression_statement "iVar19 = piVar10[0xb0];" (assignment_expression "iVar19 = piVar10[0xb0]" (identifier "iVar19") (= "=") (subscript_expression "piVar10[0xb0]" (identifier "piVar10") ([ "[") (number_literal "0xb0") (] "]"))) (; ";")) (expression_statement "piVar21 = (int *)piVar10[0xb4];" (assignment_expression "piVar21 = (int *)piVar10[0xb4]" (identifier "piVar21") (= "=") (cast_expression "(int *)piVar10[0xb4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar10[0xb4]" (identifier "piVar10") ([ "[") (number_literal "0xb4") (] "]")))) (; ";")) (expression_statement "iVar17 = piVar21[2];" (assignment_expression "iVar17 = piVar21[2]" (identifier "iVar17") (= "=") (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar16 = piVar21[5];" (assignment_expression "iVar16 = piVar21[5]" (identifier "iVar16") (= "=") (subscript_expression "piVar21[5]" (identifier "piVar21") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "iVar18 = piVar21[8];" (assignment_expression "iVar18 = piVar21[8]" (identifier "iVar18") (= "=") (subscript_expression "piVar21[8]" (identifier "piVar21") ([ "[") (number_literal "8") (] "]"))) (; ";")) (do_statement "do {\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            } while (iVar20 != iVar27);" (do "do") (compound_statement "{\n              while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }\n              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];\n              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n              if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }\n              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;\n              do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);\n              iVar20 = iVar20 + 1;\n              pfVar7 = pfVar7 + iVar19;\n            }" ({ "{") (while_statement "while( true ) {\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];\n                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);\n                if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }\n                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;\nLAB_000cdf68:\n                iVar20 = iVar20 + 1;\n                pfVar7 = pfVar7 + iVar19;\n                if (iVar20 == iVar27) goto LAB_000ce048;\n              }" ({ "{") (expression_statement "dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];" (assignment_expression "dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16]" (identifier "dVar32") (= "=") (binary_expression "(double)pfVar7[iVar17] - (double)pfVar7[iVar16]" (cast_expression "(double)pfVar7[iVar17]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "pfVar7[iVar17]" (identifier "pfVar7") ([ "[") (identifier "iVar17") (] "]"))) (- "-") (cast_expression "(double)pfVar7[iVar16]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "pfVar7[iVar16]" (identifier "pfVar7") ([ "[") (identifier "iVar16") (] "]"))))) (; ";")) (expression_statement "uVar8 = (uint)((ulonglong)dVar32 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)dVar32 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(uint)((ulonglong)dVar32 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)dVar32 >> 0x20)" (( "(") (binary_expression "(ulonglong)dVar32 >> 0x20" (cast_expression "(ulonglong)dVar32" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "dVar32")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (dVar32 < 0.0) {\n                  uVar8 = uVar8 ^ 0x80000000;\n                }" (if "if") (parenthesized_expression "(dVar32 < 0.0)" (( "(") (binary_expression "dVar32 < 0.0" (identifier "dVar32") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n                  uVar8 = uVar8 ^ 0x80000000;\n                }" ({ "{") (expression_statement "uVar8 = uVar8 ^ 0x80000000;" (assignment_expression "uVar8 = uVar8 ^ 0x80000000" (identifier "uVar8") (= "=") (binary_expression "uVar8 ^ 0x80000000" (identifier "uVar8") (^ "^") (number_literal "0x80000000"))) (; ";")) (} "}"))) (if_statement "if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;" (if "if") (parenthesized_expression "((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31)" (( "(") (binary_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31" (cast_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(uVar8,SUB84(dVar32,0))" (identifier "CONCAT44") (argument_list "(uVar8,SUB84(dVar32,0))" (( "(") (identifier "uVar8") (, ",") (call_expression "SUB84(dVar32,0)" (identifier "SUB84") (argument_list "(dVar32,0)" (( "(") (identifier "dVar32") (, ",") (number_literal "0") () ")"))) () ")")))) (< "<") (identifier "dVar31")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_000cdf68:\n                iVar20 = iVar20 + 1;" (statement_identifier "LAB_000cdf68") (: ":") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar7 = pfVar7 + iVar19;" (assignment_expression "pfVar7 = pfVar7 + iVar19" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + iVar19" (identifier "pfVar7") (+ "+") (identifier "iVar19"))) (; ";")) (if_statement "if (iVar20 == iVar27) goto LAB_000ce048;" (if "if") (parenthesized_expression "(iVar20 == iVar27)" (( "(") (binary_expression "iVar20 == iVar27" (identifier "iVar20") (== "==") (identifier "iVar27")) () ")")) (goto_statement "goto LAB_000ce048;" (goto "goto") (statement_identifier "LAB_000ce048") (; ";"))) (} "}"))) (expression_statement "dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];" (assignment_expression "dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18]" (identifier "dVar32") (= "=") (binary_expression "(double)pfVar7[iVar16] - (double)pfVar7[iVar18]" (cast_expression "(double)pfVar7[iVar16]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "pfVar7[iVar16]" (identifier "pfVar7") ([ "[") (identifier "iVar16") (] "]"))) (- "-") (cast_expression "(double)pfVar7[iVar18]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "pfVar7[iVar18]" (identifier "pfVar7") ([ "[") (identifier "iVar18") (] "]"))))) (; ";")) (expression_statement "uVar8 = (uint)((ulonglong)dVar32 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)dVar32 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(uint)((ulonglong)dVar32 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)dVar32 >> 0x20)" (( "(") (binary_expression "(ulonglong)dVar32 >> 0x20" (cast_expression "(ulonglong)dVar32" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "dVar32")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (dVar32 < 0.0) {\n                uVar8 = uVar8 ^ 0x80000000;\n              }" (if "if") (parenthesized_expression "(dVar32 < 0.0)" (( "(") (binary_expression "dVar32 < 0.0" (identifier "dVar32") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n                uVar8 = uVar8 ^ 0x80000000;\n              }" ({ "{") (expression_statement "uVar8 = uVar8 ^ 0x80000000;" (assignment_expression "uVar8 = uVar8 ^ 0x80000000" (identifier "uVar8") (= "=") (binary_expression "uVar8 ^ 0x80000000" (identifier "uVar8") (^ "^") (number_literal "0x80000000"))) (; ";")) (} "}"))) (if_statement "if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;" (if "if") (parenthesized_expression "((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1))" (( "(") (binary_expression "(dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||\n                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)" (parenthesized_expression "(dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0)))" (( "(") (binary_expression "dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))" (identifier "dVar33") (<= "<=") (cast_expression "(double)CONCAT44(uVar8,SUB84(dVar32,0))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(uVar8,SUB84(dVar32,0))" (identifier "CONCAT44") (argument_list "(uVar8,SUB84(dVar32,0))" (( "(") (identifier "uVar8") (, ",") (call_expression "SUB84(dVar32,0)" (identifier "SUB84") (argument_list "(dVar32,0)" (( "(") (identifier "dVar32") (, ",") (number_literal "0") () ")"))) () ")"))))) () ")")) (|| "||") (parenthesized_expression "(piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)" (( "(") (comma_expression "piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1" (assignment_expression "piVar11 = piVar21" (identifier "piVar11") (= "=") (identifier "piVar21")) (, ",") (comma_expression "pfVar13 = pfVar7, iVar19 < 1" (assignment_expression "pfVar13 = pfVar7" (identifier "pfVar13") (= "=") (identifier "pfVar7")) (, ",") (binary_expression "iVar19 < 1" (identifier "iVar19") (< "<") (number_literal "1")))) () ")"))) () ")")) (goto_statement "goto LAB_000cdf68;" (goto "goto") (statement_identifier "LAB_000cdf68") (; ";"))) (do_statement "do {\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              } while (piVar11 != piVar21 + iVar19 * 3);" (do "do") (compound_statement "{\n                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }\n                piVar11 = piVar11 + 3;\n                pfVar13 = pfVar13 + 1;\n              }" ({ "{") (if_statement "if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }" (if "if") (parenthesized_expression "((piVar21[*piVar11 * 3 + 1] & 2U) != 0)" (( "(") (binary_expression "(piVar21[*piVar11 * 3 + 1] & 2U) != 0" (parenthesized_expression "(piVar21[*piVar11 * 3 + 1] & 2U)" (( "(") (binary_expression "piVar21[*piVar11 * 3 + 1] & 2U" (subscript_expression "piVar21[*piVar11 * 3 + 1]" (identifier "piVar21") ([ "[") (binary_expression "*piVar11 * 3 + 1" (binary_expression "*piVar11 * 3" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (& "&") (number_literal "2U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *pfVar13 = (float)uVar34 - *pfVar13;\n                }" ({ "{") (expression_statement "*pfVar13 = (float)uVar34 - *pfVar13;" (assignment_expression "*pfVar13 = (float)uVar34 - *pfVar13" (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13")) (= "=") (binary_expression "(float)uVar34 - *pfVar13" (cast_expression "(float)uVar34" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar34")) (- "-") (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13")))) (; ";")) (} "}"))) (expression_statement "piVar11 = piVar11 + 3;" (assignment_expression "piVar11 = piVar11 + 3" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 3" (identifier "piVar11") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pfVar13 = pfVar13 + 1;" (assignment_expression "pfVar13 = pfVar13 + 1" (identifier "pfVar13") (= "=") (binary_expression "pfVar13 + 1" (identifier "pfVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar11 != piVar21 + iVar19 * 3)" (( "(") (binary_expression "piVar11 != piVar21 + iVar19 * 3" (identifier "piVar11") (!= "!=") (binary_expression "piVar21 + iVar19 * 3" (identifier "piVar21") (+ "+") (binary_expression "iVar19 * 3" (identifier "iVar19") (* "*") (number_literal "3")))) () ")")) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar7 = pfVar7 + iVar19;" (assignment_expression "pfVar7 = pfVar7 + iVar19" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + iVar19" (identifier "pfVar7") (+ "+") (identifier "iVar19"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 != iVar27)" (( "(") (binary_expression "iVar20 != iVar27" (identifier "iVar20") (!= "!=") (identifier "iVar27")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000ce048:\n          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);" (statement_identifier "LAB_000ce048") (: ":") (expression_statement "iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);" (assignment_expression "iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15)" (identifier "iVar20") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db6f0))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db6f0)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db6f0)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db6f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db6f0)" (( "(") (binary_expression "pcVar25 + 0x2db6f0" (identifier "pcVar25") (+ "+") (number_literal "0x2db6f0")) () ")"))))) () ")")) (argument_list "(uVar3,iVar15)" (( "(") (identifier "uVar3") (, ",") (identifier "iVar15") () ")")))) (; ";"))) (if_statement "if (piVar10[0xca] != 0) {\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }" (if "if") (parenthesized_expression "(piVar10[0xca] != 0)" (( "(") (binary_expression "piVar10[0xca] != 0" (subscript_expression "piVar10[0xca]" (identifier "piVar10") ([ "[") (number_literal "0xca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar8 = uStack_324 + 1;\n            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;\n            uStack_324 = uVar8;\n            iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);\n            if (iVar27 == 0) break;\n          }" ({ "{") (expression_statement "uVar8 = uStack_324 + 1;" (assignment_expression "uVar8 = uStack_324 + 1" (identifier "uVar8") (= "=") (binary_expression "uStack_324 + 1" (identifier "uStack_324") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;" (assignment_expression "iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328" (identifier "iStack_328") (= "=") (binary_expression "(uint)(uVar8 < uStack_324) + iStack_328" (call_expression "(uint)(uVar8 < uStack_324)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 < uStack_324)" (( "(") (binary_expression "uVar8 < uStack_324" (identifier "uVar8") (< "<") (identifier "uStack_324")) () ")"))) (+ "+") (identifier "iStack_328"))) (; ";")) (expression_statement "uStack_324 = uVar8;" (assignment_expression "uStack_324 = uVar8" (identifier "uStack_324") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);" (assignment_expression "iVar27 = (**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" (identifier "iVar27") (= "=") (call_expression "(**(code **)(pcVar25 + 0x2daeac))\n                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" (parenthesized_expression "(**(code **)(pcVar25 + 0x2daeac))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2daeac)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2daeac)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2daeac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2daeac)" (( "(") (binary_expression "pcVar25 + 0x2daeac" (identifier "pcVar25") (+ "+") (number_literal "0x2daeac")) () ")"))))) () ")")) (argument_list "(piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7])" (( "(") (identifier "piVar10") (, ",") (binary_expression "iVar2 + 0x4f90" (identifier "iVar2") (+ "+") (number_literal "0x4f90")) (, ",") (identifier "iStack_328") (, ",") (identifier "uVar8") (, ",") (number_literal "0") (, ",") (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar27 == 0) break;" (if "if") (parenthesized_expression "(iVar27 == 0)" (( "(") (binary_expression "iVar27 == 0" (identifier "iVar27") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (piVar10[7] <= iVar5) break;" (if "if") (parenthesized_expression "(piVar10[7] <= iVar5)" (( "(") (binary_expression "piVar10[7] <= iVar5" (subscript_expression "piVar10[7]" (identifier "piVar10") ([ "[") (number_literal "7") (] "]")) (<= "<=") (identifier "iVar5")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0ec);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0ec)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db0ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db0ec)" (( "(") (binary_expression "pcVar25 + 0x2db0ec" (identifier "pcVar25") (+ "+") (number_literal "0x2db0ec")) () ")"))))) (; ";")) (if_statement "if (iVar20 == 0) goto LAB_000ce0b0;" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ce0b0;" (goto "goto") (statement_identifier "LAB_000ce0b0") (; ";"))) (expression_statement "iVar20 = piVar10[6];" (assignment_expression "iVar20 = piVar10[6]" (identifier "iVar20") (= "=") (subscript_expression "piVar10[6]" (identifier "piVar10") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db0ec);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db0ec)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db0ec)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db0ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db0ec)" (( "(") (binary_expression "pcVar25 + 0x2db0ec" (identifier "pcVar25") (+ "+") (number_literal "0x2db0ec")) () ")"))))) (; ";")) (labeled_statement "LAB_000ce0b0:\n      puVar22 = (undefined *)0x1;" (statement_identifier "LAB_000ce0b0") (: ":") (expression_statement "puVar22 = (undefined *)0x1;" (assignment_expression "puVar22 = (undefined *)0x1" (identifier "puVar22") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (expression_statement "(*pcVar26)(uVar3);" (call_expression "(*pcVar26)(uVar3)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}")))) (if_statement "if (iStack_30c == *piVar23) {\n      return puVar22;\n    }" (if "if") (parenthesized_expression "(iStack_30c == *piVar23)" (( "(") (binary_expression "iStack_30c == *piVar23" (identifier "iStack_30c") (== "==") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) () ")")) (compound_statement "{\n      return puVar22;\n    }" ({ "{") (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0x2db25c))();" (call_expression "(**(code **)(pcVar25 + 0x2db25c))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db25c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db25c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db25c)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db25c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db25c)" (( "(") (binary_expression "pcVar25 + 0x2db25c" (identifier "pcVar25") (+ "+") (number_literal "0x2db25c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);" (call_expression "(**(code **)(pcVar25 + 0x2db800))\n            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(**(code **)(pcVar25 + 0x2db800))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x2db800)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x2db800)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db800)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db800)" (( "(") (binary_expression "pcVar25 + 0x2db800" (identifier "pcVar25") (+ "+") (number_literal "0x2db800")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2daae0) + -0x3784" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (number_literal "0xf57") (, ",") (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")")))) (+ "+") (number_literal "0x53f4")) () ")"))) (; ";")) (labeled_statement "LAB_000ce444:\n  pcVar26 = *(code **)(pcVar25 + 0x2db800);" (statement_identifier "LAB_000ce444") (: ":") (expression_statement "pcVar26 = *(code **)(pcVar25 + 0x2db800);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0x2db800)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x2db800)" (* "*") (cast_expression "(code **)(pcVar25 + 0x2db800)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x2db800)" (( "(") (binary_expression "pcVar25 + 0x2db800" (identifier "pcVar25") (+ "+") (number_literal "0x2db800")) () ")"))))) (; ";"))) (expression_statement "(*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);" (call_expression "(*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,\n             *(int *)(pcVar25 + 0x2daae0) + 0x53f4)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x2daad8) + 0xdd0" (pointer_expression "*(int *)(pcVar25 + 0x2daad8)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daad8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daad8)" (( "(") (binary_expression "pcVar25 + 0x2daad8" (identifier "pcVar25") (+ "+") (number_literal "0x2daad8")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x5060" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")")))) (+ "+") (number_literal "0x5060")) (, ",") (number_literal "0xf56") (, ",") (binary_expression "*(int *)(pcVar25 + 0x2daae0) + 0x53f4" (pointer_expression "*(int *)(pcVar25 + 0x2daae0)" (* "*") (cast_expression "(int *)(pcVar25 + 0x2daae0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x2daae0)" (( "(") (binary_expression "pcVar25 + 0x2daae0" (identifier "pcVar25") (+ "+") (number_literal "0x2daae0")) () ")")))) (+ "+") (number_literal "0x53f4")) () ")"))) (; ";")) (expression_statement "puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();" (assignment_expression "puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))()" (identifier "puVar22") (= "=") (cast_expression "(undefined *)(**(code **)(pcVar26 + 0x2dad50))()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x2dad50))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x2dad50))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x2dad50)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x2dad50)" (* "*") (cast_expression "(code **)(pcVar26 + 0x2dad50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x2dad50)" (( "(") (binary_expression "pcVar26 + 0x2dad50" (identifier "pcVar26") (+ "+") (number_literal "0x2dad50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar22;" (return "return") (identifier "puVar22") (; ";")) (} "}")))

/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

type_1
function_1(type_2 *var_2,double black_point,double white_point,double var_15,
             type_3 *exception)

{
  bool var_24;
  int var_11;
  size_t var_21;
  type_4 *pPVar4;
  type_1 var_36;
  type_5 uVar6;
  double *var_38;
  int var_39;
  double *var_42;
  float *var_64;
  int var_22;
  int extraout_v1_00;
  int var_26;
  int var_23;
  type_6 var_33;
  int extraout_v1_03;
  int var_57;
  int var_59;
  int var_58;
  int var_61;
  int var_63;
  int extraout_v1_09;
  int extraout_v1_10;
  int var_62;
  size_t var_25;
  type_7 *var_29;
  int *var_46;
  int *var_66;
  type_7 *var_31;
  double *var_44;
  float *var_67;
  type_5 in_a2;
  type_5 in_a3;
  type_7 *var_32;
  int var_20;
  int iVar21;
  int iVar22;
  int iVar23;
  int var_65;
  type_7 *puVar25;
  int var_12;
  int *var_68;
  int unaff_s3;
  type_1 var_34;
  int *unaff_s5;
  int *piVar29;
  int var_56;
  int *unaff_s7;
  type_7 *var_30;
  type_8 *var_37;
  type_8 *var_45;
  int var_51;
  int var_41;
  double var_14;
  double var_19;
  float var_40;
  double var_16;
  double var_17;
  double var_13;
  type_9 uVar40;
  double var_18;
  type_10 uVar42;
  type_10 in_stack_00000018;
  type_1 in_stack_00000020;
  int var_70;
  type_6 var_69;
  int *piStack_320;
  int iStack_31c;
  type_5 uStack_318;
  type_1 MStack_314;
  int *piStack_310;
  int var_71;
  type_7 *puStack_308;
  int *piStack_304;
  double *pdStack_300;
  int iStack_2fc;
  double *pdStack_2f8;
  int *piStack_2f4;
  int iStack_2f0;
  int *piStack_2ec;
  int iStack_2e8;
  type_8 *pcStack_2e4;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  type_10 uStack_2b8;
  double *pdStack_2b0;
  double *pdStack_2ac;
  double *pdStack_2a8;
  type_8 *var_47;
  int var_48;
  type_6 var_50;
  type_10 *puStack_290;
  type_10 *puStack_28c;
  type_10 *puStack_288;
  double *pdStack_284;
  int var_49;
  int iStack_27c;
  double var_52;
  double dStack_270;
  type_10 uStack_268;
  type_10 uStack_260;
  type_10 uStack_258;
  double var_53;
  double var_55;
  double dStack_240;
  double dStack_238;
  double dStack_230;
  double var_54;
  double dStack_210;
  double dStack_208;
  int *piStack_200;
  int iStack_1fc;
  type_5 uStack_1f8;
  int iStack_1f4;
  type_7 *puStack_1f0;
  double *pdStack_1ec;
  int *var_60;
  type_7 *puStack_1e0;
  type_1 MStack_1dc;
  double *pdStack_1d8;
  int iStack_1d4;
  double *pdStack_1d0;
  double var_43;
  double *pdStack_e8;
  double *local_a0;
  type_11 progress;
  type_7 local_88 [8];
  double local_80;
  type_2 *local_70;
  int local_68;
  type_1 local_64;
  type_11 *local_60;
  type_7 *var_28;
  
  puVar25 = PTR___stack_chk_guard_003a9230;
  var_16 = (double)var_1(in_a2,in_a3);
  var_28 = *(type_7 **)PTR___stack_chk_guard_003a9230;
  if (var_2 == (type_2 *)0x0) {
    (*(type_8 *)PTR___assert_fail_003a9608)
              (var_3 + 0xdd0,var_4 + 0x5060,
               0xc0a,var_4 + 0x5480);
LAB_000cc830:
    var_11 = 0xc0b;
    var_32 = var_4 + 0x5480;
    var_31 = var_4 + 0x5060;
    var_29 = var_4 + -0x3784;
    (*(type_8 *)PTR___assert_fail_003a9608)();
  }
  else {
    if (var_2->signature != 0xabacadab) goto LAB_000cc830;
    if (var_2->debug != var_5) {
      local_a0 = (double *)(var_6 + -0x62ac);
      (*(type_8 *)PTR_LogMagickEvent_003a91e0)
                (0x8000,var_4 + 0x5060,
                 var_4 + 0x5470,0xc0d);
    }
    if ((var_2->storage_class == var_7) && (0 < (int)var_2->colors)) {
      var_11 = 0;
      var_20 = 0;
      var_19 = *(double *)(var_3 + 0x1440);
      unaff_s7 = var_8(var_19,0);
      var_56 = (int)((type_9)var_19 >> 0x20);
      var_13 = var_19;
      var_17 = var_19;
      var_18 = var_19;
      do {
        pPVar4 = var_2->channel_map;
        if ((pPVar4->traits & var_9) != var_10) {
          var_12 = (int)&var_2->colormap->storage_class + var_11;
          var_14 = *(double *)(var_12 + 0x28) * var_13;
          if (0.0 <= var_14) {
            var_14 = (double)(*(type_8 *)PTR_pow_003a971c)(var_14,in_stack_00000018);
            pPVar4 = var_2->channel_map;
            var_12 = (int)&var_2->colormap->storage_class + var_11;
          }
          *(double *)(var_12 + 0x28) = (double)(float)((var_15 - var_16) * var_14 + var_16);
        }
        if ((pPVar4[1].traits & var_9) != var_10) {
          var_12 = (int)&var_2->colormap->storage_class + var_11;
          var_14 = *(double *)(var_12 + 0x30) * var_17;
          if (0.0 <= var_14) {
            var_14 = (double)(*(type_8 *)PTR_pow_003a971c)(var_14,in_stack_00000018);
            pPVar4 = var_2->channel_map;
            var_12 = (int)&var_2->colormap->storage_class + var_11;
          }
          *(double *)(var_12 + 0x30) = (double)(float)((var_15 - var_16) * var_14 + var_16);
        }
        if ((pPVar4[2].traits & var_9) != var_10) {
          var_12 = (int)&var_2->colormap->storage_class + var_11;
          var_14 = *(double *)(var_12 + 0x38) * var_18;
          if (0.0 <= var_14) {
            var_14 = (double)(*(type_8 *)PTR_pow_003a971c)(var_14,in_stack_00000018);
            pPVar4 = var_2->channel_map;
            var_12 = (int)&var_2->colormap->storage_class + var_11;
          }
          *(double *)(var_12 + 0x38) = (double)(float)((var_15 - var_16) * var_14 + var_16);
        }
        if ((pPVar4[4].traits & var_9) != var_10) {
          var_12 = (int)&var_2->colormap->storage_class + var_11;
          var_14 = *(double *)(var_12 + 0x48) * var_19;
          if (0.0 <= var_14) {
            var_14 = (double)(*(type_8 *)PTR_pow_003a971c)(var_14,in_stack_00000018);
            var_12 = (int)&var_2->colormap->storage_class + var_11;
          }
          *(double *)(var_12 + 0x48) = (double)(float)((var_15 - var_16) * var_14 + var_16);
        }
        var_20 = var_20 + 1;
        var_11 = var_11 + 0x58;
      } while (var_20 < (int)var_2->colors);
    }
    progress._4_4_ = 0;
    progress._0_4_ = 0;
    unaff_s3 = (*(type_8 *)PTR_AcquireAuthenticCacheView_003a8ed4)(var_2,in_stack_00000020);
    var_11 = (*(type_8 *)PTR_GetImagePixelCacheType_003a94b4)(var_2);
    if (((var_11 == 4) || (var_11 = (*(type_8 *)PTR_GetImagePixelCacheType_003a94b4)(var_2), var_11 == 3)
        ) && ((var_11 = (*(type_8 *)PTR_GetImagePixelCacheType_003a94b4)(var_2), var_11 == 4 ||
              (var_11 = (*(type_8 *)PTR_GetImagePixelCacheType_003a94b4)(var_2), var_11 == 3)))) {
      (*(type_8 *)PTR_GetMagickResourceLimit_003a913c)(7);
      var_21 = var_2->rows;
      var_25 = var_21;
      if ((int)var_21 < 0) {
        var_25 = var_21 + 0x3f;
      }
      if (var_22 < (int)var_25 >> 6) {
        (*(type_8 *)PTR_GetMagickResourceLimit_003a913c)(7);
        var_24 = var_23 < 2;
      }
      else {
        var_24 = (int)var_21 < 0x80;
      }
      var_11 = 1;
      if ((bool)(var_24 ^ 1)) {
        (*(type_8 *)PTR_GetMagickResourceLimit_003a913c)(7);
        var_25 = var_2->rows;
        if ((int)var_25 < 0) {
          var_25 = var_25 + 0x3f;
        }
        var_11 = (int)var_25 >> 6;
        if (var_26 < var_11) goto LAB_000cc7ac;
      }
    }
    else {
      uVar42 = (*(type_8 *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((type_9)uVar42 >> 0x20) == 0) && ((type_6)uVar42 < 2)) {
        uVar42 = (*(type_8 *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((type_9)uVar42 >> 0x20) == 0) && ((type_6)uVar42 < 2)) {
          var_11 = 1;
          goto LAB_000cc440;
        }
      }
      uVar42 = (*(type_8 *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((type_9)uVar42 >> 0x20) == 0) && ((type_6)uVar42 < 2)) {
LAB_000cc7ac:
        (*(type_8 *)PTR_GetMagickResourceLimit_003a913c)(7);
        var_11 = extraout_v1_00;
      }
      else {
        var_11 = 2;
      }
    }
LAB_000cc440:
    var_32 = (type_7 *)0x0;
    local_64 = var_35;
    local_60 = &progress;
    var_31 = local_88;
    local_80 = var_15;
    local_70 = var_2;
    local_68 = unaff_s3;
    (*(type_8 *)PTR_GOMP_parallel_003a9198)(var_27 + 0x305c);
    in_stack_00000020 = local_64;
    (*(type_8 *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);
    var_29 = var_28;
    if (var_28 == *(type_7 **)puVar25) {
      return in_stack_00000020;
    }
  }
  var_30 = PTR___stack_chk_fail_003a9064;
  (*(type_8 *)PTR___stack_chk_fail_003a9064)();
  if (var_29 != (type_7 *)0x0) {
    if (*(int *)(var_29 + 0x336c) == -0x54535255) {
      if (*(int *)(var_29 + 0x3350) != 0) {
        (**(type_8 **)(var_30 + 0x2dc980))
                  (0x8000,*(int *)(var_30 + 0x2dc088) + 0x5060,
                   *(int *)(var_30 + 0x2dc088) + 0x5448,0xc95);
      }
      if ((*(int *)(var_29 + 4) == 0x21) || (*(int *)(var_29 + 4) == 3)) {
        if ((*(int *)(var_31 + 4) == 0x21) ||
           (var_37 = *(type_8 **)(var_30 + 0x2dc4e0), *(int *)(var_31 + 4) == 3)) {
          if (*(int *)(var_11 + 4) == 0x21) goto LAB_000cc8d8;
          var_37 = *(type_8 **)(var_30 + 0x2dc4e0);
          if (*(int *)(var_11 + 4) != 3) goto LAB_000cc988;
          var_11 = *(int *)(var_29 + 0x2d0);
          goto LAB_000cc8dc;
        }
LAB_000cc988:
        (*var_37)(var_29,0x17,local_a0);
        var_11 = *(int *)(var_29 + 0x2d0);
        var_33 = *(type_6 *)(var_11 + 4);
      }
      else {
LAB_000cc8d8:
        var_11 = *(int *)(var_29 + 0x2d0);
LAB_000cc8dc:
        var_33 = *(type_6 *)(var_11 + 4);
      }
      if (var_32 != (type_7 *)0x0) {
        if ((var_33 & 2) == 0) {
          var_34 = var_35;
        }
        else {
          uVar6 = (**(type_8 **)(var_30 + 0x2dcd30))(var_29,1);
          var_34 = (**(type_8 **)(var_30 + 0x2dc848))(var_29);
          var_34 = var_34 & var_35;
          (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
          var_11 = *(int *)(var_29 + 0x2d0);
        }
        if ((*(type_6 *)(var_11 + 0x10) & 2) != 0) {
          uVar6 = (**(type_8 **)(var_30 + 0x2dcd30))(var_29,2);
          var_36 = (**(type_8 **)(var_30 + 0x2dc848))(var_29);
          var_34 = var_34 & var_36;
          (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
          var_11 = *(int *)(var_29 + 0x2d0);
        }
        if ((*(type_6 *)(var_11 + 0x1c) & 2) != 0) {
          uVar6 = (**(type_8 **)(var_30 + 0x2dcd30))(var_29,4);
          var_36 = (**(type_8 **)(var_30 + 0x2dc848))(var_29);
          var_34 = var_34 & var_36;
          (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
          var_11 = *(int *)(var_29 + 0x2d0);
        }
        if (((*(type_6 *)(var_11 + 0x28) & 2) != 0) && (*(int *)(var_29 + 4) == 2)) {
          uVar6 = (**(type_8 **)(var_30 + 0x2dcd30))(var_29,8);
          var_36 = (**(type_8 **)(var_30 + 0x2dc848))(var_29);
          var_34 = var_34 & var_36;
          (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
          var_11 = *(int *)(var_29 + 0x2d0);
        }
        if ((*(type_6 *)(var_11 + 0x34) & 2) == 0) {
          return var_34;
        }
        if (*(int *)(var_29 + 700) == 0) {
          return var_34;
        }
        uVar6 = (**(type_8 **)(var_30 + 0x2dcd30))(var_29,0x10);
        var_37 = *(type_8 **)(var_30 + 0x2dc848);
        goto LAB_000cca38;
      }
      var_37 = *(type_8 **)(var_30 + 0x2dcd30);
      if ((var_33 & 2) == 0) {
        var_34 = var_35;
        if ((*(type_6 *)(var_11 + 0x10) & 2) != 0) goto LAB_000ccc54;
LAB_000cc900:
        var_37 = *(type_8 **)(var_30 + 0x2dcd30);
        if ((*(type_6 *)(var_11 + 0x1c) & 2) != 0) goto LAB_000cccc4;
      }
      else {
        uVar6 = (*var_37)(var_29,1);
        var_34 = (**(type_8 **)(var_30 + 0x2dca10))(var_29);
        var_34 = var_34 & var_35;
        (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
        var_11 = *(int *)(var_29 + 0x2d0);
        if ((*(type_6 *)(var_11 + 0x10) & 2) == 0) goto LAB_000cc900;
        var_37 = *(type_8 **)(var_30 + 0x2dcd30);
LAB_000ccc54:
        uVar6 = (*var_37)(var_29,2);
        var_36 = (**(type_8 **)(var_30 + 0x2dca10))(var_29);
        var_34 = var_34 & var_36;
        (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
        var_11 = *(int *)(var_29 + 0x2d0);
        if ((*(type_6 *)(var_11 + 0x1c) & 2) != 0) {
          var_37 = *(type_8 **)(var_30 + 0x2dcd30);
LAB_000cccc4:
          uVar6 = (*var_37)(var_29,4);
          var_36 = (**(type_8 **)(var_30 + 0x2dca10))(var_29);
          var_34 = var_34 & var_36;
          (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
          var_11 = *(int *)(var_29 + 0x2d0);
        }
      }
      if (((*(type_6 *)(var_11 + 0x28) & 2) != 0) && (*(int *)(var_29 + 4) == 2)) {
        uVar6 = (**(type_8 **)(var_30 + 0x2dcd30))(var_29,8);
        var_36 = (**(type_8 **)(var_30 + 0x2dca10))(var_29);
        var_34 = var_34 & var_36;
        (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
        var_11 = *(int *)(var_29 + 0x2d0);
      }
      if (((*(type_6 *)(var_11 + 0x34) & 2) == 0) || (*(int *)(var_29 + 700) == 0)) {
        return var_34;
      }
      uVar6 = (**(type_8 **)(var_30 + 0x2dcd30))(var_29,0x10);
      var_37 = *(type_8 **)(var_30 + 0x2dca10);
LAB_000cca38:
      var_36 = (*var_37)(var_29);
      (**(type_8 **)(var_30 + 0x2dcd30))(var_29,uVar6);
      return var_34 & var_36;
    }
    (**(type_8 **)(var_30 + 0x2dcda8))
              (*(int *)(var_30 + 0x2dc088) + -0x3784,*(int *)(var_30 + 0x2dc088) + 0x5060,0xc93,
               *(int *)(var_30 + 0x2dc088) + 0x545c);
    puVar25 = var_29;
  }
  uVar6 = 0xc92;
  var_37 = *(type_8 **)(var_30 + 0x2dcda8);
  var_20 = *(int *)(var_30 + 0x2dc088) + 0x545c;
  var_11 = *(int *)(var_30 + 0x2dc080) + 0xdd0;
  (*var_37)(var_11,*(int *)(var_30 + 0x2dc088) + 0x5060);
  var_13 = (double)var_1(uVar6,var_20);
  if (var_11 != 0) {
    if (*(int *)(var_11 + 0x336c) == -0x54535255) {
      var_38 = (double *)(**(type_8 **)(var_37 + 0x2dc670))(0x10000,8);
      if (var_38 == (double *)0x0) {
        (**(type_8 **)(var_37 + 0x2dc084))
                  (pdStack_e8,*(int *)(var_37 + 0x2dba4c) + 0x5060,
                   *(int *)(var_37 + 0x2dba4c) + 0x5420,0xd29);
        var_34 = var_5;
      }
      else {
        (**(type_8 **)(var_37 + 0x2dc838))(var_38,0,0x80000);
        var_44 = var_38 + 0xffff;
        uVar6 = (**(type_8 **)(var_37 + 0x2dc8b8))(var_11,pdStack_e8);
        if (0 < *(int *)(var_11 + 0x1c)) {
          var_12 = 0;
          var_16 = *(double *)(*(int *)(var_37 + 0x2dba44) + 0x1438);
          var_20 = *(int *)(var_11 + 0x18);
          var_18 = *(double *)(*(int *)(var_37 + 0x2dba44) + 0x1400);
          var_17 = *(double *)(*(int *)(var_37 + 0x2dba44) + 0x1410);
          uVar40 = (type_9)*(type_6 *)(*(int *)(var_37 + 0x2dba44) + 0x1a50);
          var_45 = *(type_8 **)(var_37 + 0x2dc7c0);
          do {
            var_39 = (*var_45)(uVar6,0,var_12,var_20);
            if (var_39 == 0) break;
            var_20 = *(int *)(var_11 + 0x18);
            if (0 < var_20) {
              var_41 = 0;
              do {
                var_19 = (double)(**(type_8 **)(var_37 + 0x2dbfbc))(var_11,var_39);
                var_40 = (float)var_19;
                var_42 = var_44;
                if ((var_40 < (float)uVar40) && (var_42 = var_38, 0.0 < var_40)) {
                  var_19 = (double)var_40 + var_18;
                  if (var_17 <= var_19) {
                    var_19 = var_19 - var_17;
                  }
                  var_42 = var_38 + (int)var_19;
                }
                var_41 = var_41 + 1;
                var_20 = *(int *)(var_11 + 0x18);
                var_39 = var_39 + *(int *)(var_11 + 0x2c0) * 4;
                *var_42 = *var_42 + var_16;
              } while (var_41 < var_20);
            }
            var_12 = var_12 + 1;
            var_45 = *(type_8 **)(var_37 + 0x2dc7c0);
          } while (var_12 < *(int *)(var_11 + 0x1c));
        }
        var_20 = 0;
        (**(type_8 **)(var_37 + 0x2dc058))(uVar6);
        var_16 = 0.0;
        var_42 = var_38;
        do {
          var_16 = var_16 + *var_42;
          var_20 = var_20 + 1;
          if (var_13 <= var_16) break;
          var_42 = var_42 + 1;
        } while (var_20 != 0xffff);
        var_20 = 0xffff;
        var_16 = 0.0;
        do {
          var_16 = var_16 + *var_44;
          var_20 = var_20 + -1;
          if (var_43 <= var_16) {
            (**(type_8 **)(var_37 + 0x2dc124))(var_38);
            goto LAB_000cd170;
          }
          var_44 = var_44 + -1;
        } while (var_20 != 0);
        (**(type_8 **)(var_37 + 0x2dc124))(var_38);
LAB_000cd170:
        var_34 = (**(type_8 **)(var_37 + 0x2dc3d4))(var_11);
      }
      return var_34;
    }
    (**(type_8 **)(var_37 + 0x2dc76c))
              (*(int *)(var_37 + 0x2dba4c) + -0x3784,*(int *)(var_37 + 0x2dba4c) + 0x5060,0xd25,
               *(int *)(var_37 + 0x2dba4c) + 0x5434);
    var_56 = var_11;
  }
  var_11 = 0xd24;
  var_45 = *(type_8 **)(var_37 + 0x2dc76c);
  var_38 = (double *)(*(int *)(var_37 + 0x2dba4c) + 0x5060);
  var_46 = (int *)(*(int *)(var_37 + 0x2dba44) + 0xdd0);
  (*var_45)();
  var_37 = var_45 + 0x2e35c0;
  var_68 = *(int **)(var_45 + 0x2dbf40);
  pdStack_1d0 = pdStack_e8;
  pdStack_1d8 = local_a0;
  var_60 = (int *)*var_68;
  var_47 = var_37;
  puStack_1e0 = puVar25;
  MStack_1dc = in_stack_00000020;
  iStack_1d4 = unaff_s3;
  if (var_46 == (int *)0x0) {
LAB_000cddd8:
    var_20 = 0xe4d;
    var_44 = (double *)(*(int *)(var_45 + 0x2db5f8) + 0x5060);
    var_46 = (int *)(*(int *)(var_45 + 0x2db5f0) + 0xdd0);
    (**(type_8 **)(var_45 + 0x2dc318))();
  }
  else {
    unaff_s7 = var_46;
    if (var_46[0xcdb] != -0x54535255) {
      (**(type_8 **)(var_45 + 0x2dc318))
                (*(int *)(var_45 + 0x2db5f8) + -0x3784,*(int *)(var_45 + 0x2db5f8) + 0x5060,0xe4e,
                 *(int *)(var_45 + 0x2db5f8) + 0x5410);
      goto LAB_000cddd8;
    }
    if (var_46[0xcd4] == 0) {
      var_44 = var_38;
      var_20 = var_11;
      if (var_38 == (double *)0x0) goto LAB_000cd570;
LAB_000cd380:
      if ((0x1e < var_46[1] - 3U) ||
         (-1 < (int)((0x403c0001U >> (var_46[1] - 3U & 0x1f)) << 0x1f))) {
        (**(type_8 **)(var_47 + -0x7b70))(var_46,0x17,var_11);
      }
      var_33 = (**(type_8 **)(var_47 + -0x745c))(var_38,&dStack_240);
      var_15 = dStack_238;
      if ((var_33 & 8) == 0) {
        var_15 = *(double *)(*(int *)(var_47 + -0x7fd0) + 0x1a70);
      }
      var_16 = dStack_230;
      if ((var_33 & 1) == 0) {
        var_16 = *(double *)(*(int *)(var_47 + -0x7fd0) + 0x1a70);
      }
      var_20 = (**(type_8 **)(var_47 + -0x73f0))
                         (var_46,*(int *)(var_47 + -0x7fc8) + 0x52e0);
      if (var_20 == 0) {
        var_48 = 0;
        var_13 = dStack_240;
      }
      else {
        var_48 = (**(type_8 **)(var_47 + -0x721c))(9,0,var_20);
        var_13 = dStack_240;
      }
      if ((*var_46 == 2) && (0 < var_46[9])) {
        var_51 = 0;
        var_56 = 0;
        var_17 = *(double *)(*(int *)(var_47 + -0x7fc8) + -0x5ab0);
        var_49 = *(int *)(var_47 + -0x7fc8);
        var_52 = *(double *)(*(int *)(var_47 + -0x7fd0) + 0x1a70);
        var_50 = var_48 - 4;
        pdStack_284 = &var_53;
        puStack_290 = &uStack_268;
        puStack_28c = &uStack_260;
        var_18 = *(double *)(var_49 + -0x39f0);
        var_20 = var_46[10];
        puStack_288 = &uStack_258;
        unaff_s5 = (int *)(*(int *)(var_47 + -0x7fc8) + 0x5364 + var_50 * 4);
        iStack_27c = *(int *)(var_47 + -0x7fc8);
        dStack_270 = var_17;
        do {
          var_20 = var_20 + var_51;
          uStack_258 = *(type_10 *)(var_20 + 0x28);
          uStack_260 = *(type_10 *)(var_20 + 0x30);
          uStack_268 = *(type_10 *)(var_20 + 0x38);
          if (var_50 < 0xb) {
                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            var_34 = (*(var_47 + *unaff_s5))();
            return var_34;
          }
          pdStack_2b0 = pdStack_284;
          uStack_2b8 = (double)uStack_268;
          pdStack_2ac = &var_54;
          pdStack_2a8 = &var_55;
          (**(type_8 **)(var_47 + -0x7b7c))();
          var_19 = (double)(**(type_8 **)(var_47 + -0x6ef8))(var_16 - var_52,var_18);
          pdStack_2a8 = (double *)puStack_290;
          pdStack_2ac = (double *)puStack_28c;
          pdStack_2b0 = (double *)puStack_288;
          var_53 = var_19 / var_18 + var_53;
          var_54 = var_15 * var_17 * var_54;
          uStack_2b8 = var_13 * var_17 * var_55;
          var_55 = uStack_2b8;
          (**(type_8 **)(var_47 + -0x7230))(var_53,var_54);
          var_56 = var_56 + 1;
          var_20 = var_46[10];
          var_12 = var_46[9];
          var_39 = var_20 + var_51;
          var_51 = var_51 + 0x58;
          *(type_10 *)(var_39 + 0x28) = uStack_258;
          *(type_10 *)(var_39 + 0x30) = uStack_260;
          *(type_10 *)(var_39 + 0x38) = uStack_268;
        } while (var_56 < var_12);
        var_37 = *(type_8 **)(var_47 + -0x79dc);
      }
      else {
        var_37 = *(type_8 **)(var_47 + -0x79dc);
      }
      local_a0 = &var_54;
      pdStack_e8 = &var_55;
      var_55 = 0.0;
      uVar6 = (*var_37)(var_46,var_11);
      var_20 = (**(type_8 **)(var_47 + -0x73fc))(var_46);
      if (((var_20 == 4) || (var_20 = (**(type_8 **)(var_47 + -0x73fc))(var_46), var_20 == 3))
         && ((var_20 = (**(type_8 **)(var_47 + -0x73fc))(var_46), var_20 == 4 ||
             (var_20 = (**(type_8 **)(var_47 + -0x73fc))(var_46), var_20 == 3)))) {
        (**(type_8 **)(var_47 + -0x7774))(7);
        var_12 = var_46[7];
        var_20 = var_12;
        if (var_12 < 0) {
          var_20 = var_12 + 0x3f;
        }
        if (var_57 < var_20 >> 6) {
          (**(type_8 **)(var_47 + -0x7774))(7);
          var_24 = var_58 < 2;
        }
        else {
          var_24 = var_12 < 0x80;
        }
        var_20 = 1;
        if ((bool)(var_24 ^ 1)) {
          (**(type_8 **)(var_47 + -0x7774))(7);
          var_20 = var_46[7];
          if (var_20 < 0) {
            var_20 = var_20 + 0x3f;
          }
          var_20 = var_20 >> 6;
          if (var_59 < var_20) {
            var_37 = *(type_8 **)(var_47 + -0x7774);
            goto LAB_000cdc0c;
          }
        }
      }
      else {
        uVar42 = (**(type_8 **)(var_47 + -0x7774))(7);
        if ((int)((type_9)uVar42 >> 0x20) == 0) {
          var_37 = *(type_8 **)(var_47 + -0x7774);
          if ((type_6)uVar42 < 2) {
            uVar42 = (*var_37)(7);
            if ((int)((type_9)uVar42 >> 0x20) != 0) goto LAB_000cd4bc;
            var_37 = *(type_8 **)(var_47 + -0x7774);
            if ((type_6)uVar42 < 2) {
              var_20 = 1;
              goto LAB_000cd4d8;
            }
          }
        }
        else {
LAB_000cd4bc:
          var_37 = *(type_8 **)(var_47 + -0x7774);
        }
        uVar42 = (*var_37)(7);
        if (((int)((type_9)uVar42 >> 0x20) == 0) &&
           (var_37 = *(type_8 **)(var_47 + -0x7774), (type_6)uVar42 < 2)) {
LAB_000cdc0c:
          (*var_37)(7);
          var_20 = extraout_v1_03;
        }
        else {
          var_20 = 2;
        }
      }
LAB_000cd4d8:
      iStack_1f4 = var_48;
      puStack_1f0 = (type_7 *)0x1;
      var_44 = local_a0;
      dStack_210 = var_16;
      dStack_208 = var_15;
      piStack_200 = var_46;
      iStack_1fc = var_11;
      uStack_1f8 = uVar6;
      pdStack_1ec = pdStack_e8;
      (**(type_8 **)(var_47 + -0x7718))
                (*(int *)(var_47 + -0x7e4c) + 0x59a8,local_a0,var_20,0);
      puVar25 = puStack_1f0;
      (**(type_8 **)(var_47 + -0x79bc))(uVar6);
    }
    else {
      var_20 = *(int *)(var_45 + 0x2db5f8) + 0x5400;
      var_44 = (double *)(*(int *)(var_45 + 0x2db5f8) + 0x5060);
      uStack_2b8 = (double)var_1(*(int *)(var_45 + 0x2db5f4) + -0x62ac,var_46 + 0xd0);
      (**(type_8 **)(var_45 + 0x2dbef0))(0x8000,var_44,var_20,0xe50);
      if (var_38 != (double *)0x0) goto LAB_000cd380;
LAB_000cd570:
      puVar25 = (type_7 *)0x0;
    }
    var_46 = var_60;
    unaff_s3 = var_11;
    var_37 = var_47;
    if (var_60 == (int *)*var_68) {
      return (type_1)puVar25;
    }
  }
  var_37 = *(type_8 **)(var_37 + -0x784c);
  var_45 = NegateImage;
  (*var_37)();
  piVar29 = *(int **)(var_37 + 0x2db428);
  var_71 = *piVar29;
  puStack_308 = puVar25;
  piStack_304 = var_68;
  pdStack_300 = local_a0;
  iStack_2fc = unaff_s3;
  pdStack_2f8 = pdStack_e8;
  piStack_2f4 = unaff_s5;
  iStack_2f0 = var_56;
  piStack_2ec = unaff_s7;
  iStack_2e8 = var_51;
  pcStack_2e4 = var_45;
  dStack_2e0 = var_16;
  dStack_2d8 = var_15;
  dStack_2d0 = var_13;
  if (var_46 == (int *)0x0) goto LAB_000ce444;
  if (var_46[0xcdb] == -0x54535255) {
    if (var_46[0xcd4] != 0) {
      (**(type_8 **)(var_37 + 0x2db3d8))
                (0x8000,*(int *)(var_37 + 0x2daae0) + 0x5060,*(int *)(var_37 + 0x2daae0) + 0x53e8,
                 0xf59,*(int *)(var_37 + 0x2daadc) + -0x62ac,var_46 + 0xd0);
    }
    if (*var_46 == 2) {
      var_11 = var_46[9];
      if (var_11 < 1) goto LAB_000cde94;
      var_12 = 0;
      var_39 = 0;
      var_16 = *(double *)(*(int *)(var_37 + 0x2daad8) + 0x1a58);
      do {
        if (var_44 == (double *)0x0) {
LAB_000ce184:
          var_41 = var_46[0xb4];
          if ((*(type_6 *)(var_41 + 4) & 2) != 0) {
            *(double *)(var_46[10] + var_12 + 0x28) =
                 var_16 - *(double *)(var_46[10] + var_12 + 0x28);
          }
          if ((*(type_6 *)(var_41 + 0x10) & 2) != 0) {
            *(double *)(var_46[10] + var_12 + 0x30) =
                 var_16 - *(double *)(var_46[10] + var_12 + 0x30);
          }
          if ((*(type_6 *)(var_41 + 0x1c) & 2) != 0) {
            *(double *)(var_46[10] + var_12 + 0x38) =
                 var_16 - *(double *)(var_46[10] + var_12 + 0x38);
          }
        }
        else {
          var_41 = var_46[10] + var_12;
          if ((*(double *)(var_41 + 0x28) == *(double *)(var_41 + 0x30)) &&
             (*(double *)(var_41 + 0x30) == *(double *)(var_41 + 0x38))) goto LAB_000ce184;
        }
        var_39 = var_39 + 1;
        var_12 = var_12 + 0x58;
      } while (var_39 != var_11);
      var_45 = *(type_8 **)(var_37 + 0x2db0cc);
    }
    else {
LAB_000cde94:
      var_45 = *(type_8 **)(var_37 + 0x2db0cc);
    }
    var_69 = 0;
    var_70 = 0;
    uVar6 = (*var_45)(var_46,var_20);
    if (var_44 == (double *)0x0) {
      var_11 = (**(type_8 **)(var_37 + 0x2db6ac))(var_46);
      if (((var_11 == 4) || (var_11 = (**(type_8 **)(var_37 + 0x2db6ac))(var_46), var_11 == 3)) &&
         ((var_11 = (**(type_8 **)(var_37 + 0x2db6ac))(var_46), var_11 == 4 ||
          (var_11 = (**(type_8 **)(var_37 + 0x2db6ac))(var_46), var_11 == 3)))) {
        (**(type_8 **)(var_37 + 0x2db334))(7);
        var_12 = var_46[7];
        var_11 = var_12;
        if (var_12 < 0) {
          var_11 = var_12 + 0x3f;
        }
        if (var_61 < var_11 >> 6) {
          (**(type_8 **)(var_37 + 0x2db334))(7);
          var_24 = var_62 < 2;
        }
        else {
          var_24 = var_12 < 0x80;
        }
        var_11 = 1;
        if ((bool)(var_24 ^ 1)) {
          (**(type_8 **)(var_37 + 0x2db334))(7);
          var_11 = var_46[7];
          if (var_11 < 0) {
            var_11 = var_11 + 0x3f;
          }
          var_11 = var_11 >> 6;
          if (var_63 < var_11) {
            (**(type_8 **)(var_37 + 0x2db334))(7);
            var_11 = extraout_v1_10;
          }
        }
      }
      else {
        uVar42 = (**(type_8 **)(var_37 + 0x2db334))(7);
        if ((int)((type_9)uVar42 >> 0x20) == 0) {
          var_45 = *(type_8 **)(var_37 + 0x2db334);
          if ((type_6)uVar42 < 2) {
            uVar42 = (*var_45)(7);
            if ((int)((type_9)uVar42 >> 0x20) != 0) goto LAB_000ce288;
            var_45 = *(type_8 **)(var_37 + 0x2db334);
            if ((type_6)uVar42 < 2) {
              var_11 = 1;
              goto LAB_000ce2a0;
            }
          }
        }
        else {
LAB_000ce288:
          var_45 = *(type_8 **)(var_37 + 0x2db334);
        }
        uVar42 = (*var_45)(7);
        if (((int)((type_9)uVar42 >> 0x20) == 0) && ((type_6)uVar42 < 2)) {
          (**(type_8 **)(var_37 + 0x2db334))(7);
          var_11 = extraout_v1_09;
        }
        else {
          var_11 = 2;
        }
      }
LAB_000ce2a0:
      MStack_314 = var_35;
      piStack_310 = &var_70;
      piStack_320 = var_46;
      iStack_31c = var_20;
      uStack_318 = uVar6;
      (**(type_8 **)(var_37 + 0x2db390))(*(int *)(var_37 + 0x2dac5c) + -0xc84,&piStack_320,var_11,0);
      var_34 = MStack_314;
      (**(type_8 **)(var_37 + 0x2db0ec))(uVar6);
    }
    else {
      if (0 < var_46[7]) {
        var_39 = 0;
        var_13 = *(double *)(*(int *)(var_37 + 0x2daad8) + 0x13f8);
        uVar40 = (type_9)*(type_6 *)(*(int *)(var_37 + 0x2daad8) + 0x1a50);
        var_11 = *(int *)(var_37 + 0x2daae0);
        var_12 = var_46[6];
        var_16 = var_13;
        while (var_64 = (float *)(**(type_8 **)(var_37 + 0x2db844))(uVar6,0,var_39,var_12,1,var_20),
              var_64 != (float *)0x0) {
          var_41 = var_46[6];
          var_12 = 0;
          if (0 < var_41) {
            var_65 = var_46[0xb0];
            var_68 = (int *)var_46[0xb4];
            iVar22 = var_68[2];
            iVar21 = var_68[5];
            iVar23 = var_68[8];
            do {
              while( true ) {
                var_17 = (double)var_64[iVar22] - (double)var_64[iVar21];
                var_33 = (type_6)((type_9)var_17 >> 0x20);
                if (var_17 < 0.0) {
                  var_33 = var_33 ^ 0x80000000;
                }
                if ((double)var_1(var_33,var_8(var_17,0)) < var_16) break;
LAB_000cdf68:
                var_12 = var_12 + 1;
                var_64 = var_64 + var_65;
                if (var_12 == var_41) goto LAB_000ce048;
              }
              var_17 = (double)var_64[iVar21] - (double)var_64[iVar23];
              var_33 = (type_6)((type_9)var_17 >> 0x20);
              if (var_17 < 0.0) {
                var_33 = var_33 ^ 0x80000000;
              }
              if ((var_13 <= (double)var_1(var_33,var_8(var_17,0))) ||
                 (var_66 = var_68, var_67 = var_64, var_65 < 1)) goto LAB_000cdf68;
              do {
                if ((var_68[*var_66 * 3 + 1] & 2U) != 0) {
                  *var_67 = (float)uVar40 - *var_67;
                }
                var_66 = var_66 + 3;
                var_67 = var_67 + 1;
              } while (var_66 != var_68 + var_65 * 3);
              var_12 = var_12 + 1;
              var_64 = var_64 + var_65;
            } while (var_12 != var_41);
          }
LAB_000ce048:
          var_12 = (**(type_8 **)(var_37 + 0x2db6f0))(uVar6,var_20);
          if (var_46[0xca] != 0) {
            var_33 = var_69 + 1;
            var_70 = (type_6)(var_33 < var_69) + var_70;
            var_69 = var_33;
            var_41 = (**(type_8 **)(var_37 + 0x2daeac))
                               (var_46,var_11 + 0x4f90,var_70,var_33,0,var_46[7]);
            if (var_41 == 0) break;
          }
          var_39 = var_39 + 1;
          if (var_46[7] <= var_39) break;
          var_45 = *(type_8 **)(var_37 + 0x2db0ec);
          if (var_12 == 0) goto LAB_000ce0b0;
          var_12 = var_46[6];
        }
      }
      var_45 = *(type_8 **)(var_37 + 0x2db0ec);
LAB_000ce0b0:
      var_34 = var_35;
      (*var_45)(uVar6);
    }
    if (var_71 == *piVar29) {
      return var_34;
    }
    (**(type_8 **)(var_37 + 0x2db25c))();
  }
  (**(type_8 **)(var_37 + 0x2db800))
            (*(int *)(var_37 + 0x2daae0) + -0x3784,*(int *)(var_37 + 0x2daae0) + 0x5060,0xf57,
             *(int *)(var_37 + 0x2daae0) + 0x53f4);
LAB_000ce444:
  var_45 = *(type_8 **)(var_37 + 0x2db800);
  (*var_45)(*(int *)(var_37 + 0x2daad8) + 0xdd0,*(int *)(var_37 + 0x2daae0) + 0x5060,0xf56,
             *(int *)(var_37 + 0x2daae0) + 0x53f4);
  var_34 = (**(type_8 **)(var_45 + 0x2dad50))();
  return var_34;
}


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

undefined *
MASKED(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,double param_5,
             undefined8 param_6,undefined *param_7)

{
  bool bVar1;
  int iVar2;
  undefined4 uVar3;
  double *pdVar4;
  int iVar5;
  double *pdVar6;
  float *pfVar7;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  uint uVar8;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  int extraout_v1_09;
  int extraout_v1_10;
  int extraout_v1_11;
  undefined *puVar9;
  int *piVar10;
  int *piVar11;
  double *pdVar12;
  float *pfVar13;
  undefined *puVar14;
  int iVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  int iVar20;
  int *piVar21;
  int unaff_s3;
  undefined *puVar22;
  int *unaff_s5;
  int *piVar23;
  int unaff_s6;
  int *unaff_s7;
  undefined *puVar24;
  code *pcVar25;
  code *pcVar26;
  int unaff_s8;
  int iVar27;
  double dVar28;
  double dVar29;
  float fVar30;
  double dVar31;
  double dVar32;
  double dVar33;
  ulonglong uVar34;
  double dVar35;
  undefined8 uVar36;
  int iStack_328;
  uint uStack_324;
  int *piStack_320;
  int iStack_31c;
  undefined4 uStack_318;
  undefined *puStack_314;
  int *piStack_310;
  int iStack_30c;
  undefined *puStack_308;
  int *piStack_304;
  double *pdStack_300;
  int iStack_2fc;
  double *pdStack_2f8;
  int *piStack_2f4;
  int iStack_2f0;
  int *piStack_2ec;
  int iStack_2e8;
  code *pcStack_2e4;
  double dStack_2e0;
  double dStack_2d8;
  double dStack_2d0;
  undefined8 uStack_2b8;
  double *pdStack_2b0;
  double *pdStack_2ac;
  double *pdStack_2a8;
  code *pcStack_2a0;
  int iStack_298;
  uint uStack_294;
  undefined8 *puStack_290;
  undefined8 *puStack_28c;
  undefined8 *puStack_288;
  double *pdStack_284;
  int iStack_280;
  int iStack_27c;
  double dStack_278;
  double dStack_270;
  undefined8 uStack_268;
  undefined8 uStack_260;
  undefined8 uStack_258;
  double dStack_250;
  double dStack_248;
  double dStack_240;
  double dStack_238;
  double dStack_230;
  double dStack_218;
  double dStack_210;
  double dStack_208;
  int *piStack_200;
  int iStack_1fc;
  undefined4 uStack_1f8;
  int iStack_1f4;
  undefined *puStack_1f0;
  double *pdStack_1ec;
  int *piStack_1e4;
  undefined *puStack_1e0;
  undefined *puStack_1dc;
  double *pdStack_1d8;
  int iStack_1d4;
  double *pdStack_1d0;
  double dStack_f0;
  double *pdStack_e8;
  double *local_a0;
  undefined4 local_90;
  undefined4 local_8c;
  double local_88;
  double local_80;
  undefined8 local_78;
  int *local_70;
  undefined *local_6c;
  int local_68;
  undefined *local_64;
  undefined4 *local_60;
  undefined *local_54;
  
  puVar22 = PTR___stack_chk_guard_003a9230;
  dVar31 = (double)CONCAT44(param_3,param_4);
  local_54 = *(undefined **)PTR___stack_chk_guard_003a9230;
  if (param_1 == (int *)0x0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0xdd0,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,
               0xc0a,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480);
LAB_000cc830:
    iVar2 = 0xc0b;
    puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5480;
    pdVar4 = (double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060);
    puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784;
    (*(code *)PTR___assert_fail_003a9608)();
  }
  else {
    if (param_1[0xcdb] != -0x54535255) goto LAB_000cc830;
    if (param_1[0xcd4] != 0) {
      local_a0 = (double *)(PTR_s_t_to_left_003a88e4 + -0x62ac);
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5060,
                 PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x5470,0xc0d);
    }
    if ((*param_1 == 2) && (0 < param_1[9])) {
      iVar2 = 0;
      iVar15 = 0;
      dVar29 = *(double *)(PTR_LAB_003a88e0 + 0x1440);
      unaff_s7 = SUB84(dVar29,0);
      unaff_s6 = (int)((ulonglong)dVar29 >> 0x20);
      dVar33 = dVar29;
      dVar32 = dVar29;
      dVar35 = dVar29;
      do {
        iVar20 = param_1[0xb4];
        if ((*(uint *)(iVar20 + 4) & 2) != 0) {
          iVar5 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar5 + 0x28) * dVar33;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[0xb4];
            iVar5 = param_1[10] + iVar2;
          }
          *(double *)(iVar5 + 0x28) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        if ((*(uint *)(iVar20 + 0x10) & 2) != 0) {
          iVar5 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar5 + 0x30) * dVar32;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[0xb4];
            iVar5 = param_1[10] + iVar2;
          }
          *(double *)(iVar5 + 0x30) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        if ((*(uint *)(iVar20 + 0x1c) & 2) != 0) {
          iVar5 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar5 + 0x38) * dVar35;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[0xb4];
            iVar5 = param_1[10] + iVar2;
          }
          *(double *)(iVar5 + 0x38) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        if ((*(uint *)(iVar20 + 0x34) & 2) != 0) {
          iVar20 = param_1[10] + iVar2;
          dVar28 = *(double *)(iVar20 + 0x48) * dVar29;
          if (0.0 <= dVar28) {
            dVar28 = (double)(*(code *)PTR_pow_003a971c)(dVar28,param_6);
            iVar20 = param_1[10] + iVar2;
          }
          *(double *)(iVar20 + 0x48) = (double)(float)((param_5 - dVar31) * dVar28 + dVar31);
        }
        iVar15 = iVar15 + 1;
        iVar2 = iVar2 + 0x58;
      } while (iVar15 < param_1[9]);
    }
    local_8c = 0;
    local_90 = 0;
    unaff_s3 = (*(code *)PTR_AcquireAuthenticCacheView_003a8ed4)(param_1,param_7);
    iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1);
    if (((iVar2 == 4) ||
        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)) &&
       ((iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 4 ||
        (iVar2 = (*(code *)PTR_GetImagePixelCacheType_003a94b4)(param_1), iVar2 == 3)))) {
      (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      iVar15 = param_1[7];
      iVar2 = iVar15;
      if (iVar15 < 0) {
        iVar2 = iVar15 + 0x3f;
      }
      if (extraout_v1 < iVar2 >> 6) {
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        bVar1 = extraout_v1_02 < 2;
      }
      else {
        bVar1 = iVar15 < 0x80;
      }
      iVar2 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar2 = param_1[7];
        if (iVar2 < 0) {
          iVar2 = iVar2 + 0x3f;
        }
        iVar2 = iVar2 >> 6;
        if (extraout_v1_01 < iVar2) goto LAB_000cc7ac;
      }
    }
    else {
      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
        uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
          iVar2 = 1;
          goto LAB_000cc440;
        }
      }
      uVar36 = (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
      if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
LAB_000cc7ac:
        (*(code *)PTR_GetMagickResourceLimit_003a913c)(7);
        iVar2 = extraout_v1_00;
      }
      else {
        iVar2 = 2;
      }
    }
LAB_000cc440:
    puVar14 = (undefined *)0x0;
    local_64 = (undefined *)0x1;
    local_60 = &local_90;
    pdVar4 = &local_88;
    local_6c = param_7;
    local_88 = dVar31;
    local_80 = param_5;
    local_78 = param_6;
    local_70 = param_1;
    local_68 = unaff_s3;
    (*(code *)PTR_GOMP_parallel_003a9198)(PTR_LAB_003a8a64 + 0x305c);
    param_7 = local_64;
    (*(code *)PTR_DestroyCacheView_003a8ef4)(unaff_s3);
    puVar9 = local_54;
    if (local_54 == *(undefined **)puVar22) {
      return param_7;
    }
  }
  puVar24 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (puVar9 != (undefined *)0x0) {
    if (*(int *)(puVar9 + 0x336c) == -0x54535255) {
      if (*(int *)(puVar9 + 0x3350) != 0) {
        (**(code **)(puVar24 + 0x2dc980))
                  (0x8000,*(int *)(puVar24 + 0x2dc088) + 0x5060,
                   *(int *)(puVar24 + 0x2dc088) + 0x5448,0xc95);
      }
      if ((*(int *)(puVar9 + 4) == 0x21) || (*(int *)(puVar9 + 4) == 3)) {
        if ((*(int *)((int)pdVar4 + 4) == 0x21) ||
           (pcVar25 = *(code **)(puVar24 + 0x2dc4e0), *(int *)((int)pdVar4 + 4) == 3)) {
          if (*(int *)(iVar2 + 4) == 0x21) goto LAB_000cc8d8;
          pcVar25 = *(code **)(puVar24 + 0x2dc4e0);
          if (*(int *)(iVar2 + 4) != 3) goto LAB_000cc988;
          iVar2 = *(int *)(puVar9 + 0x2d0);
          goto LAB_000cc8dc;
        }
LAB_000cc988:
        (*pcVar25)(puVar9,0x17,local_a0);
        iVar2 = *(int *)(puVar9 + 0x2d0);
        uVar8 = *(uint *)(iVar2 + 4);
      }
      else {
LAB_000cc8d8:
        iVar2 = *(int *)(puVar9 + 0x2d0);
LAB_000cc8dc:
        uVar8 = *(uint *)(iVar2 + 4);
      }
      if (puVar14 != (undefined *)0x0) {
        if ((uVar8 & 2) == 0) {
          puVar22 = (undefined *)0x1;
        }
        else {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,1);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)(uVar8 & 1);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,2);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,4);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {
          uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);
          uVar8 = (**(code **)(puVar24 + 0x2dc848))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
        if ((*(uint *)(iVar2 + 0x34) & 2) == 0) {
          return puVar22;
        }
        if (*(int *)(puVar9 + 700) == 0) {
          return puVar22;
        }
        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);
        pcVar25 = *(code **)(puVar24 + 0x2dc848);
        goto LAB_000cca38;
      }
      pcVar25 = *(code **)(puVar24 + 0x2dcd30);
      if ((uVar8 & 2) == 0) {
        puVar22 = (undefined *)0x1;
        if ((*(uint *)(iVar2 + 0x10) & 2) != 0) goto LAB_000ccc54;
LAB_000cc900:
        pcVar25 = *(code **)(puVar24 + 0x2dcd30);
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) goto LAB_000cccc4;
      }
      else {
        uVar3 = (*pcVar25)(puVar9,1);
        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
        puVar22 = (undefined *)(uVar8 & 1);
        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
        iVar2 = *(int *)(puVar9 + 0x2d0);
        if ((*(uint *)(iVar2 + 0x10) & 2) == 0) goto LAB_000cc900;
        pcVar25 = *(code **)(puVar24 + 0x2dcd30);
LAB_000ccc54:
        uVar3 = (*pcVar25)(puVar9,2);
        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
        puVar22 = (undefined *)((uint)puVar22 & uVar8);
        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
        iVar2 = *(int *)(puVar9 + 0x2d0);
        if ((*(uint *)(iVar2 + 0x1c) & 2) != 0) {
          pcVar25 = *(code **)(puVar24 + 0x2dcd30);
LAB_000cccc4:
          uVar3 = (*pcVar25)(puVar9,4);
          uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
          puVar22 = (undefined *)((uint)puVar22 & uVar8);
          (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
          iVar2 = *(int *)(puVar9 + 0x2d0);
        }
      }
      if (((*(uint *)(iVar2 + 0x28) & 2) != 0) && (*(int *)(puVar9 + 4) == 2)) {
        uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,8);
        uVar8 = (**(code **)(puVar24 + 0x2dca10))(puVar9);
        puVar22 = (undefined *)((uint)puVar22 & uVar8);
        (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
        iVar2 = *(int *)(puVar9 + 0x2d0);
      }
      if (((*(uint *)(iVar2 + 0x34) & 2) == 0) || (*(int *)(puVar9 + 700) == 0)) {
        return puVar22;
      }
      uVar3 = (**(code **)(puVar24 + 0x2dcd30))(puVar9,0x10);
      pcVar25 = *(code **)(puVar24 + 0x2dca10);
LAB_000cca38:
      uVar8 = (*pcVar25)(puVar9);
      (**(code **)(puVar24 + 0x2dcd30))(puVar9,uVar3);
      return (undefined *)((uint)puVar22 & uVar8);
    }
    (**(code **)(puVar24 + 0x2dcda8))
              (*(int *)(puVar24 + 0x2dc088) + -0x3784,*(int *)(puVar24 + 0x2dc088) + 0x5060,0xc93,
               *(int *)(puVar24 + 0x2dc088) + 0x545c);
    puVar22 = puVar9;
  }
  uVar3 = 0xc92;
  pcVar25 = *(code **)(puVar24 + 0x2dcda8);
  iVar15 = *(int *)(puVar24 + 0x2dc088) + 0x545c;
  iVar2 = *(int *)(puVar24 + 0x2dc080) + 0xdd0;
  (*pcVar25)(iVar2,*(int *)(puVar24 + 0x2dc088) + 0x5060);
  dVar33 = (double)CONCAT44(uVar3,iVar15);
  if (iVar2 != 0) {
    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {
      pdVar4 = (double *)(**(code **)(pcVar25 + 0x2dc670))(0x10000,8);
      if (pdVar4 == (double *)0x0) {
        (**(code **)(pcVar25 + 0x2dc084))
                  (pdStack_e8,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,
                   *(int *)(pcVar25 + 0x2dba4c) + 0x5420,0xd29);
        puVar22 = (undefined *)0x0;
      }
      else {
        (**(code **)(pcVar25 + 0x2dc838))(pdVar4,0,0x80000);
        pdVar12 = pdVar4 + 0xffff;
        uVar3 = (**(code **)(pcVar25 + 0x2dc8b8))(iVar2,pdStack_e8);
        if (0 < *(int *)(iVar2 + 0x1c)) {
          iVar20 = 0;
          dVar31 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1438);
          iVar15 = *(int *)(iVar2 + 0x18);
          dVar35 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1400);
          dVar32 = *(double *)(*(int *)(pcVar25 + 0x2dba44) + 0x1410);
          uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2dba44) + 0x1a50);
          pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);
          do {
            iVar5 = (*pcVar26)(uVar3,0,iVar20,iVar15);
            if (iVar5 == 0) break;
            iVar15 = *(int *)(iVar2 + 0x18);
            if (0 < iVar15) {
              iVar27 = 0;
              do {
                dVar29 = (double)(**(code **)(pcVar25 + 0x2dbfbc))(iVar2,iVar5);
                fVar30 = (float)dVar29;
                pdVar6 = pdVar12;
                if ((fVar30 < (float)uVar34) && (pdVar6 = pdVar4, 0.0 < fVar30)) {
                  dVar29 = (double)fVar30 + dVar35;
                  if (dVar32 <= dVar29) {
                    dVar29 = dVar29 - dVar32;
                  }
                  pdVar6 = pdVar4 + (int)dVar29;
                }
                iVar27 = iVar27 + 1;
                iVar15 = *(int *)(iVar2 + 0x18);
                iVar5 = iVar5 + *(int *)(iVar2 + 0x2c0) * 4;
                *pdVar6 = *pdVar6 + dVar31;
              } while (iVar27 < iVar15);
            }
            iVar20 = iVar20 + 1;
            pcVar26 = *(code **)(pcVar25 + 0x2dc7c0);
          } while (iVar20 < *(int *)(iVar2 + 0x1c));
        }
        iVar15 = 0;
        (**(code **)(pcVar25 + 0x2dc058))(uVar3);
        dVar31 = 0.0;
        pdVar6 = pdVar4;
        do {
          dVar31 = dVar31 + *pdVar6;
          iVar15 = iVar15 + 1;
          if (dVar33 <= dVar31) break;
          pdVar6 = pdVar6 + 1;
        } while (iVar15 != 0xffff);
        iVar15 = 0xffff;
        dVar31 = 0.0;
        do {
          dVar31 = dVar31 + *pdVar12;
          iVar15 = iVar15 + -1;
          if (dStack_f0 <= dVar31) {
            (**(code **)(pcVar25 + 0x2dc124))(pdVar4);
            goto LAB_000cd170;
          }
          pdVar12 = pdVar12 + -1;
        } while (iVar15 != 0);
        (**(code **)(pcVar25 + 0x2dc124))(pdVar4);
LAB_000cd170:
        puVar22 = (undefined *)(**(code **)(pcVar25 + 0x2dc3d4))(iVar2);
      }
      return puVar22;
    }
    (**(code **)(pcVar25 + 0x2dc76c))
              (*(int *)(pcVar25 + 0x2dba4c) + -0x3784,*(int *)(pcVar25 + 0x2dba4c) + 0x5060,0xd25,
               *(int *)(pcVar25 + 0x2dba4c) + 0x5434);
    unaff_s6 = iVar2;
  }
  iVar2 = 0xd24;
  pcVar26 = *(code **)(pcVar25 + 0x2dc76c);
  pdVar4 = (double *)(*(int *)(pcVar25 + 0x2dba4c) + 0x5060);
  piVar10 = (int *)(*(int *)(pcVar25 + 0x2dba44) + 0xdd0);
  (*pcVar26)();
  pcVar25 = pcVar26 + 0x2e35c0;
  piVar21 = *(int **)(pcVar26 + 0x2dbf40);
  pdStack_1d0 = pdStack_e8;
  pdStack_1d8 = local_a0;
  piStack_1e4 = (int *)*piVar21;
  pcStack_2a0 = pcVar25;
  puStack_1e0 = puVar22;
  puStack_1dc = param_7;
  iStack_1d4 = unaff_s3;
  if (piVar10 == (int *)0x0) {
LAB_000cddd8:
    iVar15 = 0xe4d;
    pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);
    piVar10 = (int *)(*(int *)(pcVar26 + 0x2db5f0) + 0xdd0);
    (**(code **)(pcVar26 + 0x2dc318))();
  }
  else {
    unaff_s7 = piVar10;
    if (piVar10[0xcdb] != -0x54535255) {
      (**(code **)(pcVar26 + 0x2dc318))
                (*(int *)(pcVar26 + 0x2db5f8) + -0x3784,*(int *)(pcVar26 + 0x2db5f8) + 0x5060,0xe4e,
                 *(int *)(pcVar26 + 0x2db5f8) + 0x5410);
      goto LAB_000cddd8;
    }
    if (piVar10[0xcd4] == 0) {
      pdVar12 = pdVar4;
      iVar15 = iVar2;
      if (pdVar4 == (double *)0x0) goto LAB_000cd570;
LAB_000cd380:
      if ((0x1e < piVar10[1] - 3U) ||
         (-1 < (int)((0x403c0001U >> (piVar10[1] - 3U & 0x1f)) << 0x1f))) {
        (**(code **)(pcStack_2a0 + -0x7b70))(piVar10,0x17,iVar2);
      }
      uVar8 = (**(code **)(pcStack_2a0 + -0x745c))(pdVar4,&dStack_240);
      param_5 = dStack_238;
      if ((uVar8 & 8) == 0) {
        param_5 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
      }
      dVar31 = dStack_230;
      if ((uVar8 & 1) == 0) {
        dVar31 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
      }
      iVar15 = (**(code **)(pcStack_2a0 + -0x73f0))
                         (piVar10,*(int *)(pcStack_2a0 + -0x7fc8) + 0x52e0);
      if (iVar15 == 0) {
        iStack_298 = 0;
        dVar33 = dStack_240;
      }
      else {
        iStack_298 = (**(code **)(pcStack_2a0 + -0x721c))(9,0,iVar15);
        dVar33 = dStack_240;
      }
      if ((*piVar10 == 2) && (0 < piVar10[9])) {
        unaff_s8 = 0;
        unaff_s6 = 0;
        dVar32 = *(double *)(*(int *)(pcStack_2a0 + -0x7fc8) + -0x5ab0);
        iStack_280 = *(int *)(pcStack_2a0 + -0x7fc8);
        dStack_278 = *(double *)(*(int *)(pcStack_2a0 + -0x7fd0) + 0x1a70);
        uStack_294 = iStack_298 - 4;
        pdStack_284 = &dStack_250;
        puStack_290 = &uStack_268;
        puStack_28c = &uStack_260;
        dVar35 = *(double *)(iStack_280 + -0x39f0);
        iVar15 = piVar10[10];
        puStack_288 = &uStack_258;
        unaff_s5 = (int *)(*(int *)(pcStack_2a0 + -0x7fc8) + 0x5364 + uStack_294 * 4);
        iStack_27c = *(int *)(pcStack_2a0 + -0x7fc8);
        dStack_270 = dVar32;
        do {
          iVar15 = iVar15 + unaff_s8;
          uStack_258 = *(undefined8 *)(iVar15 + 0x28);
          uStack_260 = *(undefined8 *)(iVar15 + 0x30);
          uStack_268 = *(undefined8 *)(iVar15 + 0x38);
          if (uStack_294 < 0xb) {
                    /* WARNING: Could not recover jumptable at 0x000cd67c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            puVar22 = (undefined *)(*(pcStack_2a0 + *unaff_s5))();
            return puVar22;
          }
          pdStack_2b0 = pdStack_284;
          uStack_2b8 = (double)uStack_268;
          pdStack_2ac = &dStack_218;
          pdStack_2a8 = &dStack_248;
          (**(code **)(pcStack_2a0 + -0x7b7c))();
          dVar29 = (double)(**(code **)(pcStack_2a0 + -0x6ef8))(dVar31 - dStack_278,dVar35);
          pdStack_2a8 = (double *)puStack_290;
          pdStack_2ac = (double *)puStack_28c;
          pdStack_2b0 = (double *)puStack_288;
          dStack_250 = dVar29 / dVar35 + dStack_250;
          dStack_218 = param_5 * dVar32 * dStack_218;
          uStack_2b8 = dVar33 * dVar32 * dStack_248;
          dStack_248 = uStack_2b8;
          (**(code **)(pcStack_2a0 + -0x7230))(dStack_250,dStack_218);
          unaff_s6 = unaff_s6 + 1;
          iVar15 = piVar10[10];
          iVar20 = piVar10[9];
          iVar5 = iVar15 + unaff_s8;
          unaff_s8 = unaff_s8 + 0x58;
          *(undefined8 *)(iVar5 + 0x28) = uStack_258;
          *(undefined8 *)(iVar5 + 0x30) = uStack_260;
          *(undefined8 *)(iVar5 + 0x38) = uStack_268;
        } while (unaff_s6 < iVar20);
        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);
      }
      else {
        pcVar25 = *(code **)(pcStack_2a0 + -0x79dc);
      }
      local_a0 = &dStack_218;
      pdStack_e8 = &dStack_248;
      dStack_248 = 0.0;
      uVar3 = (*pcVar25)(piVar10,iVar2);
      iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10);
      if (((iVar15 == 4) || (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3))
         && ((iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 4 ||
             (iVar15 = (**(code **)(pcStack_2a0 + -0x73fc))(piVar10), iVar15 == 3)))) {
        (**(code **)(pcStack_2a0 + -0x7774))(7);
        iVar20 = piVar10[7];
        iVar15 = iVar20;
        if (iVar20 < 0) {
          iVar15 = iVar20 + 0x3f;
        }
        if (extraout_v1_04 < iVar15 >> 6) {
          (**(code **)(pcStack_2a0 + -0x7774))(7);
          bVar1 = extraout_v1_06 < 2;
        }
        else {
          bVar1 = iVar20 < 0x80;
        }
        iVar15 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcStack_2a0 + -0x7774))(7);
          iVar15 = piVar10[7];
          if (iVar15 < 0) {
            iVar15 = iVar15 + 0x3f;
          }
          iVar15 = iVar15 >> 6;
          if (extraout_v1_05 < iVar15) {
            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
            goto LAB_000cdc0c;
          }
        }
      }
      else {
        uVar36 = (**(code **)(pcStack_2a0 + -0x7774))(7);
        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {
          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
          if ((uint)uVar36 < 2) {
            uVar36 = (*pcVar25)(7);
            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000cd4bc;
            pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
            if ((uint)uVar36 < 2) {
              iVar15 = 1;
              goto LAB_000cd4d8;
            }
          }
        }
        else {
LAB_000cd4bc:
          pcVar25 = *(code **)(pcStack_2a0 + -0x7774);
        }
        uVar36 = (*pcVar25)(7);
        if (((int)((ulonglong)uVar36 >> 0x20) == 0) &&
           (pcVar25 = *(code **)(pcStack_2a0 + -0x7774), (uint)uVar36 < 2)) {
LAB_000cdc0c:
          (*pcVar25)(7);
          iVar15 = extraout_v1_03;
        }
        else {
          iVar15 = 2;
        }
      }
LAB_000cd4d8:
      iStack_1f4 = iStack_298;
      puStack_1f0 = (undefined *)0x1;
      pdVar12 = local_a0;
      dStack_210 = dVar31;
      dStack_208 = param_5;
      piStack_200 = piVar10;
      iStack_1fc = iVar2;
      uStack_1f8 = uVar3;
      pdStack_1ec = pdStack_e8;
      (**(code **)(pcStack_2a0 + -0x7718))
                (*(int *)(pcStack_2a0 + -0x7e4c) + 0x59a8,local_a0,iVar15,0);
      puVar22 = puStack_1f0;
      (**(code **)(pcStack_2a0 + -0x79bc))(uVar3);
    }
    else {
      iVar15 = *(int *)(pcVar26 + 0x2db5f8) + 0x5400;
      pdVar12 = (double *)(*(int *)(pcVar26 + 0x2db5f8) + 0x5060);
      uStack_2b8 = (double)CONCAT44(*(int *)(pcVar26 + 0x2db5f4) + -0x62ac,piVar10 + 0xd0);
      (**(code **)(pcVar26 + 0x2dbef0))(0x8000,pdVar12,iVar15,0xe50);
      if (pdVar4 != (double *)0x0) goto LAB_000cd380;
LAB_000cd570:
      puVar22 = (undefined *)0x0;
    }
    piVar10 = piStack_1e4;
    unaff_s3 = iVar2;
    pcVar25 = pcStack_2a0;
    if (piStack_1e4 == (int *)*piVar21) {
      return puVar22;
    }
  }
  pcVar25 = *(code **)(pcVar25 + -0x784c);
  pcVar26 = NegateImage;
  (*pcVar25)();
  piVar23 = *(int **)(pcVar25 + 0x2db428);
  iStack_30c = *piVar23;
  puStack_308 = puVar22;
  piStack_304 = piVar21;
  pdStack_300 = local_a0;
  iStack_2fc = unaff_s3;
  pdStack_2f8 = pdStack_e8;
  piStack_2f4 = unaff_s5;
  iStack_2f0 = unaff_s6;
  piStack_2ec = unaff_s7;
  iStack_2e8 = unaff_s8;
  pcStack_2e4 = pcVar26;
  dStack_2e0 = dVar31;
  dStack_2d8 = param_5;
  dStack_2d0 = dVar33;
  if (piVar10 == (int *)0x0) goto LAB_000ce444;
  if (piVar10[0xcdb] == -0x54535255) {
    if (piVar10[0xcd4] != 0) {
      (**(code **)(pcVar25 + 0x2db3d8))
                (0x8000,*(int *)(pcVar25 + 0x2daae0) + 0x5060,*(int *)(pcVar25 + 0x2daae0) + 0x53e8,
                 0xf59,*(int *)(pcVar25 + 0x2daadc) + -0x62ac,piVar10 + 0xd0);
    }
    if (*piVar10 == 2) {
      iVar2 = piVar10[9];
      if (iVar2 < 1) goto LAB_000cde94;
      iVar20 = 0;
      iVar5 = 0;
      dVar31 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a58);
      do {
        if (pdVar12 == (double *)0x0) {
LAB_000ce184:
          iVar27 = piVar10[0xb4];
          if ((*(uint *)(iVar27 + 4) & 2) != 0) {
            *(double *)(piVar10[10] + iVar20 + 0x28) =
                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x28);
          }
          if ((*(uint *)(iVar27 + 0x10) & 2) != 0) {
            *(double *)(piVar10[10] + iVar20 + 0x30) =
                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x30);
          }
          if ((*(uint *)(iVar27 + 0x1c) & 2) != 0) {
            *(double *)(piVar10[10] + iVar20 + 0x38) =
                 dVar31 - *(double *)(piVar10[10] + iVar20 + 0x38);
          }
        }
        else {
          iVar27 = piVar10[10] + iVar20;
          if ((*(double *)(iVar27 + 0x28) == *(double *)(iVar27 + 0x30)) &&
             (*(double *)(iVar27 + 0x30) == *(double *)(iVar27 + 0x38))) goto LAB_000ce184;
        }
        iVar5 = iVar5 + 1;
        iVar20 = iVar20 + 0x58;
      } while (iVar5 != iVar2);
      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);
    }
    else {
LAB_000cde94:
      pcVar26 = *(code **)(pcVar25 + 0x2db0cc);
    }
    uStack_324 = 0;
    iStack_328 = 0;
    uVar3 = (*pcVar26)(piVar10,iVar15);
    if (pdVar12 == (double *)0x0) {
      iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10);
      if (((iVar2 == 4) || (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)) &&
         ((iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 4 ||
          (iVar2 = (**(code **)(pcVar25 + 0x2db6ac))(piVar10), iVar2 == 3)))) {
        (**(code **)(pcVar25 + 0x2db334))(7);
        iVar20 = piVar10[7];
        iVar2 = iVar20;
        if (iVar20 < 0) {
          iVar2 = iVar20 + 0x3f;
        }
        if (extraout_v1_07 < iVar2 >> 6) {
          (**(code **)(pcVar25 + 0x2db334))(7);
          bVar1 = extraout_v1_11 < 2;
        }
        else {
          bVar1 = iVar20 < 0x80;
        }
        iVar2 = 1;
        if ((bool)(bVar1 ^ 1)) {
          (**(code **)(pcVar25 + 0x2db334))(7);
          iVar2 = piVar10[7];
          if (iVar2 < 0) {
            iVar2 = iVar2 + 0x3f;
          }
          iVar2 = iVar2 >> 6;
          if (extraout_v1_08 < iVar2) {
            (**(code **)(pcVar25 + 0x2db334))(7);
            iVar2 = extraout_v1_10;
          }
        }
      }
      else {
        uVar36 = (**(code **)(pcVar25 + 0x2db334))(7);
        if ((int)((ulonglong)uVar36 >> 0x20) == 0) {
          pcVar26 = *(code **)(pcVar25 + 0x2db334);
          if ((uint)uVar36 < 2) {
            uVar36 = (*pcVar26)(7);
            if ((int)((ulonglong)uVar36 >> 0x20) != 0) goto LAB_000ce288;
            pcVar26 = *(code **)(pcVar25 + 0x2db334);
            if ((uint)uVar36 < 2) {
              iVar2 = 1;
              goto LAB_000ce2a0;
            }
          }
        }
        else {
LAB_000ce288:
          pcVar26 = *(code **)(pcVar25 + 0x2db334);
        }
        uVar36 = (*pcVar26)(7);
        if (((int)((ulonglong)uVar36 >> 0x20) == 0) && ((uint)uVar36 < 2)) {
          (**(code **)(pcVar25 + 0x2db334))(7);
          iVar2 = extraout_v1_09;
        }
        else {
          iVar2 = 2;
        }
      }
LAB_000ce2a0:
      puStack_314 = (undefined *)0x1;
      piStack_310 = &iStack_328;
      piStack_320 = piVar10;
      iStack_31c = iVar15;
      uStack_318 = uVar3;
      (**(code **)(pcVar25 + 0x2db390))(*(int *)(pcVar25 + 0x2dac5c) + -0xc84,&piStack_320,iVar2,0);
      puVar22 = puStack_314;
      (**(code **)(pcVar25 + 0x2db0ec))(uVar3);
    }
    else {
      if (0 < piVar10[7]) {
        iVar5 = 0;
        dVar33 = *(double *)(*(int *)(pcVar25 + 0x2daad8) + 0x13f8);
        uVar34 = (ulonglong)*(uint *)(*(int *)(pcVar25 + 0x2daad8) + 0x1a50);
        iVar2 = *(int *)(pcVar25 + 0x2daae0);
        iVar20 = piVar10[6];
        dVar31 = dVar33;
        while (pfVar7 = (float *)(**(code **)(pcVar25 + 0x2db844))(uVar3,0,iVar5,iVar20,1,iVar15),
              pfVar7 != (float *)0x0) {
          iVar27 = piVar10[6];
          iVar20 = 0;
          if (0 < iVar27) {
            iVar19 = piVar10[0xb0];
            piVar21 = (int *)piVar10[0xb4];
            iVar17 = piVar21[2];
            iVar16 = piVar21[5];
            iVar18 = piVar21[8];
            do {
              while( true ) {
                dVar32 = (double)pfVar7[iVar17] - (double)pfVar7[iVar16];
                uVar8 = (uint)((ulonglong)dVar32 >> 0x20);
                if (dVar32 < 0.0) {
                  uVar8 = uVar8 ^ 0x80000000;
                }
                if ((double)CONCAT44(uVar8,SUB84(dVar32,0)) < dVar31) break;
LAB_000cdf68:
                iVar20 = iVar20 + 1;
                pfVar7 = pfVar7 + iVar19;
                if (iVar20 == iVar27) goto LAB_000ce048;
              }
              dVar32 = (double)pfVar7[iVar16] - (double)pfVar7[iVar18];
              uVar8 = (uint)((ulonglong)dVar32 >> 0x20);
              if (dVar32 < 0.0) {
                uVar8 = uVar8 ^ 0x80000000;
              }
              if ((dVar33 <= (double)CONCAT44(uVar8,SUB84(dVar32,0))) ||
                 (piVar11 = piVar21, pfVar13 = pfVar7, iVar19 < 1)) goto LAB_000cdf68;
              do {
                if ((piVar21[*piVar11 * 3 + 1] & 2U) != 0) {
                  *pfVar13 = (float)uVar34 - *pfVar13;
                }
                piVar11 = piVar11 + 3;
                pfVar13 = pfVar13 + 1;
              } while (piVar11 != piVar21 + iVar19 * 3);
              iVar20 = iVar20 + 1;
              pfVar7 = pfVar7 + iVar19;
            } while (iVar20 != iVar27);
          }
LAB_000ce048:
          iVar20 = (**(code **)(pcVar25 + 0x2db6f0))(uVar3,iVar15);
          if (piVar10[0xca] != 0) {
            uVar8 = uStack_324 + 1;
            iStack_328 = (uint)(uVar8 < uStack_324) + iStack_328;
            uStack_324 = uVar8;
            iVar27 = (**(code **)(pcVar25 + 0x2daeac))
                               (piVar10,iVar2 + 0x4f90,iStack_328,uVar8,0,piVar10[7]);
            if (iVar27 == 0) break;
          }
          iVar5 = iVar5 + 1;
          if (piVar10[7] <= iVar5) break;
          pcVar26 = *(code **)(pcVar25 + 0x2db0ec);
          if (iVar20 == 0) goto LAB_000ce0b0;
          iVar20 = piVar10[6];
        }
      }
      pcVar26 = *(code **)(pcVar25 + 0x2db0ec);
LAB_000ce0b0:
      puVar22 = (undefined *)0x1;
      (*pcVar26)(uVar3);
    }
    if (iStack_30c == *piVar23) {
      return puVar22;
    }
    (**(code **)(pcVar25 + 0x2db25c))();
  }
  (**(code **)(pcVar25 + 0x2db800))
            (*(int *)(pcVar25 + 0x2daae0) + -0x3784,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf57,
             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);
LAB_000ce444:
  pcVar26 = *(code **)(pcVar25 + 0x2db800);
  (*pcVar26)(*(int *)(pcVar25 + 0x2daad8) + 0xdd0,*(int *)(pcVar25 + 0x2daae0) + 0x5060,0xf56,
             *(int *)(pcVar25 + 0x2daae0) + 0x53f4);
  puVar22 = (undefined *)(**(code **)(pcVar26 + 0x2dad50))();
  return puVar22;
}

