
/* 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 */

ResizeWeightingFunctionType GetResizeFilterWindowWeightingType(ResizeFilter *resize_filter)

{
  bool bVar1;
  ResizeWeightingFunctionType RVar2;
  ContributionInfo **contribution;
  undefined4 uVar3;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  undefined *puVar4;
  ResizeFilter *resize_filter_00;
  ResizeFilter *resize_filter_01;
  size_t sVar5;
  undefined4 *puVar6;
  int *piVar7;
  double *pdVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  ContributionInfo **unaff_s5;
  undefined4 unaff_s7;
  undefined *puVar13;
  code *pcVar14;
  undefined4 unaff_s8;
  code *pcVar15;
  code *pcVar16;
  double dVar17;
  double dVar18;
  double dVar19;
  double dVar20;
  double dVar21;
  double dVar22;
  undefined8 uVar23;
  double dStack_188;
  int iStack_180;
  int *piStack_17c;
  double dStack_178;
  double dStack_170;
  ResizeFilter *pRStack_168;
  double *pdStack_164;
  int iStack_160;
  int iStack_15c;
  undefined4 uStack_158;
  undefined4 uStack_154;
  ContributionInfo **ppCStack_150;
  ResizeWeightingFunctionType RStack_14c;
  code *pcStack_148;
  undefined4 *puStack_13c;
  ResizeWeightingFunctionType RStack_138;
  int iStack_134;
  int *piStack_12c;
  ResizeFilter *pRStack_128;
  ContributionInfo **ppCStack_124;
  undefined4 uStack_11c;
  undefined4 uStack_118;
  code *pcStack_114;
  double dStack_110;
  double dStack_108;
  double dStack_100;
  undefined4 uStack_e8;
  int iStack_e4;
  int iStack_e0;
  int *piStack_dc;
  code *pcStack_d8;
  int iStack_d4;
  double dStack_d0;
  code *pcStack_c4;
  double dStack_c0;
  double dStack_b8;
  ResizeFilter *pRStack_b0;
  int *piStack_ac;
  int iStack_a8;
  undefined4 uStack_a0;
  undefined4 uStack_9c;
  ContributionInfo **ppCStack_98;
  ResizeWeightingFunctionType RStack_94;
  ResizeFilter *pRStack_84;
  undefined4 uStack_2c;
  int iStack_1c;
  
  if (resize_filter == (ResizeFilter *)0x0) {
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,
               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,
               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);
  }
  else if (resize_filter->signature == 0xabacadab) {
    return resize_filter->windowWeightingType;
  }
  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;
  pcVar15 = GetResizeFilterSupport;
  puVar13 = PTR___assert_fail_003fa620;
  (*(code *)PTR___assert_fail_003fa620)
            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,
             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);
  if (puVar4 == (undefined *)0x0) {
    (**(code **)(puVar13 + 0x244700))
              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,
               *(int *)(puVar13 + 0x2439d8) + -0x2378);
  }
  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {
    return 0xabacadab;
  }
  iVar12 = *(int *)(puVar13 + 0x2439d8) + -0x2378;
  iVar10 = 0x64f;
  piVar7 = (int *)(*(int *)(puVar13 + 0x2439d8) + -0x2d88);
  resize_filter_00 = (ResizeFilter *)(*(int *)(puVar13 + 0x2439d8) + -0x2d10);
  pcVar14 = *(code **)(puVar13 + 0x244700);
  (*pcVar14)();
  pcStack_d8 = pcVar14 + 0x24b8fc;
  dVar19 = (double)CONCAT44(puVar13 + 0x24b990,uStack_2c);
  pRStack_84 = (ResizeFilter *)**(undefined4 **)(pcVar14 + 0x244294);
  dVar17 = *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408);
  dVar21 = dVar17 / dVar19 + *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8);
  if (dVar21 <= dVar17) {
    dVar21 = dVar17;
  }
  dVar17 = GetResizeFilterSupport(resize_filter_00);
  dVar17 = dVar21 * dVar17;
  pdVar8 = (double *)0x1;
  if (dVar17 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {
    pdVar8 = (double *)*piVar7;
  }
  iVar11 = iStack_1c;
  RVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar10);
  if (RVar2 != BoxWeightingFunction) {
    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17) {
      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);
      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {
        sVar5 = (size_t)dVar20;
      }
      else {
        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;
      }
      unaff_s5 = AcquireContributionThreadSet(sVar5);
      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;
      if (dVar21 < 0.0) {
        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);
      }
      else {
        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);
      }
      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)
      goto LAB_001b6340;
      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);
    }
    else {
      unaff_s5 = AcquireContributionThreadSet(4);
      if (unaff_s5 == (ContributionInfo **)0x0) {
LAB_001b6148:
        piVar7 = piVar7 + 0xd0;
        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;
        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;
        uStack_e8 = 400;
        iVar12 = 0xdce;
        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;
        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);
        piStack_dc = piVar7;
        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);
        RVar2 = BoxWeightingFunction;
        goto LAB_001b64a0;
      }
      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);
      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);
LAB_001b6340:
      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;
    }
    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c);
    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c);
    iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7);
    if ((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)) {
      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);
      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))
      goto LAB_001b63c0;
      (**(code **)(pcStack_d8 + -0x775c))(7);
      iVar11 = *(int *)(iVar10 + 0x1c);
      iVar12 = iVar11;
      if (iVar11 < 0) {
        iVar12 = iVar11 + 0x3f;
      }
      if (extraout_v1 < iVar12 >> 6) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        bVar1 = extraout_v1_01 < 2;
      }
      else {
        bVar1 = iVar11 < 0x80;
      }
      iVar11 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        iVar11 = *(int *)(iVar10 + 0x1c);
        if (iVar11 < 0) {
          iVar11 = iVar11 + 0x3f;
        }
        iVar11 = iVar11 >> 6;
        if (extraout_v1_02 < iVar11) {
          (**(code **)(pcStack_d8 + -0x775c))(7);
          iVar11 = extraout_v1_03;
        }
      }
    }
    else {
LAB_001b63c0:
      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);
      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {
        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);
        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;
        pcVar14 = *(code **)(pcStack_d8 + -0x775c);
        if ((uint)uVar23 < 2) {
          iVar11 = 1;
          goto LAB_001b63fc;
        }
      }
      else {
LAB_001b63dc:
        pcVar14 = *(code **)(pcStack_d8 + -0x775c);
      }
      uVar23 = (*pcVar14)(7);
      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        iVar11 = extraout_v1_00;
      }
      else {
        iVar11 = 2;
      }
    }
LAB_001b63fc:
    RStack_94 = TriangleWeightingFunction;
    iVar12 = 0;
    pdVar8 = &dStack_d0;
    dStack_d0 = dVar19;
    pcStack_c4 = pcVar15;
    dStack_c0 = dVar21;
    dStack_b8 = dVar17;
    pRStack_b0 = resize_filter_00;
    piStack_ac = piVar7;
    iStack_a8 = iVar10;
    uStack_a0 = unaff_s7;
    uStack_9c = unaff_s8;
    ppCStack_98 = unaff_s5;
    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0);
    RVar2 = RStack_94;
    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);
    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);
    DestroyContributionThreadSet(unaff_s5);
  }
LAB_001b64a0:
  if (pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)) {
    return RVar2;
  }
  pcVar14 = *(code **)(pcStack_d8 + -0x7834);
  pcVar16 = HorizontalFilter;
  resize_filter_01 = pRStack_84;
  (*pcVar14)();
  pcVar15 = pcStack_d8;
  dVar20 = (double)CONCAT44(uStack_e8,iStack_e4);
  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar14 + 0x243d4c);
  dVar18 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);
  dVar22 = dVar18 / dVar20 + *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);
  if (dVar22 <= dVar18) {
    dVar22 = dVar18;
  }
  RStack_138 = RVar2;
  iStack_134 = iVar10;
  piStack_12c = piVar7;
  pRStack_128 = resize_filter_00;
  ppCStack_124 = unaff_s5;
  uStack_11c = unaff_s7;
  uStack_118 = unaff_s8;
  pcStack_114 = pcVar16;
  dStack_110 = dVar21;
  dStack_108 = dVar19;
  dStack_100 = dVar17;
  dVar19 = GetResizeFilterSupport(resize_filter_01);
  dVar19 = dVar22 * dVar19;
  uVar9 = 1;
  if (dVar19 <= *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)) {
    uVar9 = *(undefined4 *)pdVar8;
  }
  iVar10 = iStack_d4;
  RVar2 = (**(code **)(pcVar14 + 0x244340))(iVar11,uVar9,iStack_d4);
  if (RVar2 == BoxWeightingFunction) goto LAB_001b69e8;
  if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0) <= dVar19) {
    dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0);
    if (dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) {
      sVar5 = (size_t)dVar21;
    }
    else {
      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;
    }
    contribution = AcquireContributionThreadSet(sVar5);
    if (contribution == (ContributionInfo **)0x0) goto LAB_001b6690;
    if (dVar22 < 0.0) {
      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);
    }
    else {
      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);
    }
    if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21) goto LAB_001b6888;
    dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);
  }
  else {
    contribution = AcquireContributionThreadSet(4);
    if (contribution == (ContributionInfo **)0x0) {
LAB_001b6690:
      iVar12 = 0xcf4;
      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;
      (**(code **)(pcVar14 + 0x243a3c))
                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,
                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,
                 pdVar8 + 0x68);
      RVar2 = BoxWeightingFunction;
      goto LAB_001b69e8;
    }
    dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);
    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);
LAB_001b6888:
    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;
  }
  uVar9 = (**(code **)(pcVar14 + 0x244270))(pdVar8,iStack_d4);
  uVar3 = (**(code **)(pcVar14 + 0x2439f0))(iVar11,iStack_d4);
  iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8);
  if ((iVar10 == 4) || (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3)) {
    iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11);
    if ((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))
    goto LAB_001b6908;
    (**(code **)(pcVar14 + 0x243c58))(7);
    iVar12 = *(int *)(iVar11 + 0x18);
    iVar10 = iVar12;
    if (iVar12 < 0) {
      iVar10 = iVar12 + 0x3f;
    }
    if (extraout_v1_04 < iVar10 >> 6) {
      (**(code **)(pcVar14 + 0x243c58))(7);
      bVar1 = extraout_v1_06 < 2;
    }
    else {
      bVar1 = iVar12 < 0x80;
    }
    iVar10 = 1;
    if ((bool)(bVar1 ^ 1)) {
      (**(code **)(pcVar14 + 0x243c58))(7);
      iVar10 = *(int *)(iVar11 + 0x18);
      if (iVar10 < 0) {
        iVar10 = iVar10 + 0x3f;
      }
      iVar10 = iVar10 >> 6;
      if (extraout_v1_07 < iVar10) {
        (**(code **)(pcVar14 + 0x243c58))(7);
        iVar10 = extraout_v1_08;
      }
    }
  }
  else {
LAB_001b6908:
    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);
    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {
      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);
      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;
      pcVar16 = *(code **)(pcVar14 + 0x243c58);
      if ((uint)uVar23 < 2) {
        iVar10 = 1;
        goto LAB_001b6944;
      }
    }
    else {
LAB_001b6924:
      pcVar16 = *(code **)(pcVar14 + 0x243c58);
    }
    uVar23 = (*pcVar16)(7);
    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {
      (**(code **)(pcVar14 + 0x243c58))(7);
      iVar10 = extraout_v1_05;
    }
    else {
      iVar10 = 2;
    }
  }
LAB_001b6944:
  pcStack_148 = pcVar15;
  iStack_15c = iStack_d4;
  piStack_17c = piStack_dc;
  iStack_180 = iStack_e0;
  RStack_14c = TriangleWeightingFunction;
  iVar12 = 0;
  dStack_188 = dVar20;
  dStack_178 = dVar22;
  dStack_170 = dVar19;
  pRStack_168 = resize_filter_01;
  pdStack_164 = pdVar8;
  iStack_160 = iVar11;
  uStack_158 = uVar9;
  uStack_154 = uVar3;
  ppCStack_150 = contribution;
  (**(code **)(pcVar14 + 0x243cb4))(*(int *)(pcVar14 + 0x243678) + -0x7bac,&dStack_188,iVar10,0);
  RVar2 = RStack_14c;
  (**(code **)(pcVar14 + 0x243a10))(uVar3);
  (**(code **)(pcVar14 + 0x243a10))(uVar9);
  DestroyContributionThreadSet(contribution);
LAB_001b69e8:
  if (puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c)) {
    return RVar2;
  }
  pcVar15 = *(code **)(pcVar14 + 0x243b80);
  puVar6 = puStack_13c;
  (*pcVar15)();
  if (puVar6 != (undefined4 *)0x0) {
    if (puVar6[0x1a] == -0x54535255) {
      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);
      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&
         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {
        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));
      }
      RVar2 = (*(code *)*puVar6)(dVar19);
      return RVar2;
    }
    RVar2 = (**(code **)(pcVar15 + 0x243bdc))
                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88
                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390);
    return RVar2;
  }
  RVar2 = (**(code **)(pcVar15 + 0x243bdc))
                    (*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,
                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c);
  return RVar2;
}



int FUN_001b5e94(int param_1)

{
  bool bVar1;
  int iVar2;
  undefined4 uVar3;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  undefined *puVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  undefined4 *puVar8;
  int *piVar9;
  double *pdVar10;
  undefined4 uVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int unaff_s5;
  undefined4 unaff_s7;
  undefined *puVar15;
  code *pcVar16;
  undefined4 unaff_s8;
  code *pcVar17;
  code *pcVar18;
  double dVar19;
  double dVar20;
  double dVar21;
  double dVar22;
  double dVar23;
  double dVar24;
  undefined8 uVar25;
  double dStack_188;
  int iStack_180;
  int *piStack_17c;
  double dStack_178;
  double dStack_170;
  int iStack_168;
  double *pdStack_164;
  int iStack_160;
  int iStack_15c;
  undefined4 uStack_158;
  undefined4 uStack_154;
  int iStack_150;
  int iStack_14c;
  code *pcStack_148;
  undefined4 *puStack_13c;
  int iStack_138;
  int iStack_134;
  int *piStack_12c;
  int iStack_128;
  int iStack_124;
  undefined4 uStack_11c;
  undefined4 uStack_118;
  code *pcStack_114;
  double dStack_110;
  double dStack_108;
  double dStack_100;
  undefined4 uStack_e8;
  int iStack_e4;
  int iStack_e0;
  int *piStack_dc;
  code *pcStack_d8;
  int iStack_d4;
  double dStack_d0;
  code *pcStack_c4;
  double dStack_c0;
  double dStack_b8;
  int iStack_b0;
  int *piStack_ac;
  int iStack_a8;
  undefined4 uStack_a0;
  undefined4 uStack_9c;
  int iStack_98;
  int iStack_94;
  int iStack_84;
  undefined4 uStack_2c;
  int iStack_1c;
  
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,
               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,
               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);
  }
  else if (*(int *)(param_1 + 0x68) == -0x54535255) {
    return *(int *)(param_1 + 100);
  }
  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;
  pcVar17 = FUN_001b5f20;
  puVar15 = PTR___assert_fail_003fa620;
  (*(code *)PTR___assert_fail_003fa620)
            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,
             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);
  if (puVar4 == (undefined *)0x0) {
    (**(code **)(puVar15 + 0x244700))
              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,
               *(int *)(puVar15 + 0x2439d8) + -0x2378);
  }
  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {
    return -0x54535255;
  }
  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;
  iVar12 = 0x64f;
  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);
  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;
  pcVar16 = *(code **)(puVar15 + 0x244700);
  (*pcVar16)();
  pcStack_d8 = pcVar16 + 0x24b8fc;
  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);
  iStack_84 = **(int **)(pcVar16 + 0x244294);
  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);
  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);
  if (dVar23 <= dVar19) {
    dVar23 = dVar19;
  }
  dVar19 = (double)FUN_001b5f20(iVar5);
  dVar19 = dVar23 * dVar19;
  pdVar10 = (double *)0x1;
  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {
    pdVar10 = (double *)*piVar9;
  }
  iVar13 = iStack_1c;
  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);
  if (iVar2 != 0) {
    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {
      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);
      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {
        uVar7 = (uint)dVar22;
      }
      else {
        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;
      }
      unaff_s5 = FUN_001b06c0(uVar7);
      if (unaff_s5 == 0) goto LAB_001b6148;
      if (dVar23 < 0.0) {
        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);
      }
      else {
        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);
      }
      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)
      goto LAB_001b6340;
      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);
    }
    else {
      unaff_s5 = FUN_001b06c0(4);
      if (unaff_s5 == 0) {
LAB_001b6148:
        piVar9 = piVar9 + 0xd0;
        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;
        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;
        uStack_e8 = 400;
        iVar14 = 0xdce;
        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;
        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);
        piStack_dc = piVar9;
        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);
        iVar2 = 0;
        goto LAB_001b64a0;
      }
      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);
      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);
LAB_001b6340:
      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;
    }
    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);
    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);
    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);
    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {
      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);
      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))
      goto LAB_001b63c0;
      (**(code **)(pcStack_d8 + -0x775c))(7);
      iVar2 = *(int *)(iVar12 + 0x1c);
      iVar14 = iVar2;
      if (iVar2 < 0) {
        iVar14 = iVar2 + 0x3f;
      }
      if (extraout_v1 < iVar14 >> 6) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        bVar1 = extraout_v1_01 < 2;
      }
      else {
        bVar1 = iVar2 < 0x80;
      }
      iVar13 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        iVar13 = *(int *)(iVar12 + 0x1c);
        if (iVar13 < 0) {
          iVar13 = iVar13 + 0x3f;
        }
        iVar13 = iVar13 >> 6;
        if (extraout_v1_02 < iVar13) {
          (**(code **)(pcStack_d8 + -0x775c))(7);
          iVar13 = extraout_v1_03;
        }
      }
    }
    else {
LAB_001b63c0:
      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);
      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);
        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;
        pcVar16 = *(code **)(pcStack_d8 + -0x775c);
        if ((uint)uVar25 < 2) {
          iVar13 = 1;
          goto LAB_001b63fc;
        }
      }
      else {
LAB_001b63dc:
        pcVar16 = *(code **)(pcStack_d8 + -0x775c);
      }
      uVar25 = (*pcVar16)(7);
      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        iVar13 = extraout_v1_00;
      }
      else {
        iVar13 = 2;
      }
    }
LAB_001b63fc:
    iStack_94 = 1;
    iVar14 = 0;
    pdVar10 = &dStack_d0;
    dStack_d0 = dVar21;
    pcStack_c4 = pcVar17;
    dStack_c0 = dVar23;
    dStack_b8 = dVar19;
    iStack_b0 = iVar5;
    piStack_ac = piVar9;
    iStack_a8 = iVar12;
    uStack_a0 = unaff_s7;
    uStack_9c = unaff_s8;
    iStack_98 = unaff_s5;
    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);
    iVar2 = iStack_94;
    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);
    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);
    FUN_001b05f0(unaff_s5);
  }
LAB_001b64a0:
  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {
    return iVar2;
  }
  pcVar16 = *(code **)(pcStack_d8 + -0x7834);
  pcVar18 = FUN_001b64fc;
  iVar6 = iStack_84;
  (*pcVar16)();
  pcVar17 = pcStack_d8;
  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);
  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);
  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);
  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);
  if (dVar24 <= dVar20) {
    dVar24 = dVar20;
  }
  iStack_138 = iVar2;
  iStack_134 = iVar12;
  piStack_12c = piVar9;
  iStack_128 = iVar5;
  iStack_124 = unaff_s5;
  uStack_11c = unaff_s7;
  uStack_118 = unaff_s8;
  pcStack_114 = pcVar18;
  dStack_110 = dVar23;
  dStack_108 = dVar21;
  dStack_100 = dVar19;
  dVar21 = (double)FUN_001b5f20(iVar6);
  dVar21 = dVar24 * dVar21;
  uVar11 = 1;
  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {
    uVar11 = *(undefined4 *)pdVar10;
  }
  iVar12 = iStack_d4;
  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);
  if (iVar5 == 0) goto LAB_001b69e8;
  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {
    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);
    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {
      uVar7 = (uint)dVar23;
    }
    else {
      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;
    }
    iVar2 = FUN_001b06c0(uVar7);
    if (iVar2 == 0) goto LAB_001b6690;
    if (dVar24 < 0.0) {
      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);
    }
    else {
      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);
    }
    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;
    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);
  }
  else {
    iVar2 = FUN_001b06c0(4);
    if (iVar2 == 0) {
LAB_001b6690:
      iVar14 = 0xcf4;
      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;
      (**(code **)(pcVar16 + 0x243a3c))
                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,
                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,
                 pdVar10 + 0x68);
      iVar5 = 0;
      goto LAB_001b69e8;
    }
    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);
    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);
LAB_001b6888:
    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;
  }
  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);
  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);
  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);
  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {
    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);
    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))
    goto LAB_001b6908;
    (**(code **)(pcVar16 + 0x243c58))(7);
    iVar12 = *(int *)(iVar13 + 0x18);
    iVar5 = iVar12;
    if (iVar12 < 0) {
      iVar5 = iVar12 + 0x3f;
    }
    if (extraout_v1_04 < iVar5 >> 6) {
      (**(code **)(pcVar16 + 0x243c58))(7);
      bVar1 = extraout_v1_06 < 2;
    }
    else {
      bVar1 = iVar12 < 0x80;
    }
    iVar12 = 1;
    if ((bool)(bVar1 ^ 1)) {
      (**(code **)(pcVar16 + 0x243c58))(7);
      iVar12 = *(int *)(iVar13 + 0x18);
      if (iVar12 < 0) {
        iVar12 = iVar12 + 0x3f;
      }
      iVar12 = iVar12 >> 6;
      if (extraout_v1_07 < iVar12) {
        (**(code **)(pcVar16 + 0x243c58))(7);
        iVar12 = extraout_v1_08;
      }
    }
  }
  else {
LAB_001b6908:
    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);
    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);
      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;
      pcVar18 = *(code **)(pcVar16 + 0x243c58);
      if ((uint)uVar25 < 2) {
        iVar12 = 1;
        goto LAB_001b6944;
      }
    }
    else {
LAB_001b6924:
      pcVar18 = *(code **)(pcVar16 + 0x243c58);
    }
    uVar25 = (*pcVar18)(7);
    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
      (**(code **)(pcVar16 + 0x243c58))(7);
      iVar12 = extraout_v1_05;
    }
    else {
      iVar12 = 2;
    }
  }
LAB_001b6944:
  pcStack_148 = pcVar17;
  iStack_15c = iStack_d4;
  piStack_17c = piStack_dc;
  iStack_180 = iStack_e0;
  iStack_14c = 1;
  iVar14 = 0;
  dStack_188 = dVar22;
  dStack_178 = dVar24;
  dStack_170 = dVar21;
  iStack_168 = iVar6;
  pdStack_164 = pdVar10;
  iStack_160 = iVar13;
  uStack_158 = uVar11;
  uStack_154 = uVar3;
  iStack_150 = iVar2;
  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);
  iVar5 = iStack_14c;
  (**(code **)(pcVar16 + 0x243a10))(uVar3);
  (**(code **)(pcVar16 + 0x243a10))(uVar11);
  FUN_001b05f0(iVar2);
LAB_001b69e8:
  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {
    return iVar5;
  }
  pcVar17 = *(code **)(pcVar16 + 0x243b80);
  puVar8 = puStack_13c;
  (*pcVar17)();
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x1a] == -0x54535255) {
      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);
      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&
         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {
        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));
      }
      iVar5 = (*(code *)*puVar8)(dVar21);
      return iVar5;
    }
    iVar5 = (**(code **)(pcVar17 + 0x243bdc))
                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88
                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);
    return iVar5;
  }
  iVar5 = (**(code **)(pcVar17 + 0x243bdc))
                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,
                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);
  return iVar5;
}


lui gp,0x25
addiu gp,gp,-0x45e4
addu gp,gp,t9
addiu sp,sp,-0x20
sw ra,0x1c(sp)
sw gp,0x10(sp)
beq a0,zero,0x001b5ed0
_lui v0,0xabac
lw v1,0x68(a0)
ori v0,v0,0xadab
bne v1,v0,0x001b5ef8
_lw ra,0x1c(sp)
lw v0,0x64(a0)
jr ra
_addiu sp,sp,0x20
lw a3,-0x7fb8(gp)
addiu a3,a3,-0x2360
li a2,0x647
lw a1,-0x7fb8(gp)
addiu a1,a1,-0x2d88
lw a0,-0x7fb8(gp)
addiu a0,a0,-0x2d38
lw t9,-0x7290(gp)
jalr t9
_nop
lw a3,-0x7fb8(gp)
addiu a3,a3,-0x2360
li a2,0x648
lw a1,-0x7fb8(gp)
addiu a1,a1,-0x2d88
lw a0,-0x7fb8(gp)
addiu a0,a0,-0x2d10
lw t9,-0x7290(gp)
jalr t9
_nop
(translation_unit "int FUN_001b5e94(int param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\n}\n\n" (function_definition "int FUN_001b5e94(int param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\n}" primitive_type (function_declarator "FUN_001b5e94(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier 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 "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 "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int unaff_s5;" primitive_type identifier ;) (declaration "undefined4 unaff_s7;" type_identifier identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined4 unaff_s8;" type_identifier identifier ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "double dVar21;" primitive_type identifier ;) (declaration "double dVar22;" primitive_type identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "undefined8 uVar25;" type_identifier identifier ;) (declaration "double dStack_188;" primitive_type identifier ;) (declaration "int iStack_180;" primitive_type identifier ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "double dStack_178;" primitive_type identifier ;) (declaration "double dStack_170;" primitive_type identifier ;) (declaration "int iStack_168;" primitive_type identifier ;) (declaration "double *pdStack_164;" primitive_type (pointer_declarator "*pdStack_164" * identifier) ;) (declaration "int iStack_160;" primitive_type identifier ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "undefined4 uStack_158;" type_identifier identifier ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "int iStack_14c;" primitive_type identifier ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "undefined4 *puStack_13c;" type_identifier (pointer_declarator "*puStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "int *piStack_12c;" primitive_type (pointer_declarator "*piStack_12c" * identifier) ;) (declaration "int iStack_128;" primitive_type identifier ;) (declaration "int iStack_124;" primitive_type identifier ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "code *pcStack_114;" type_identifier (pointer_declarator "*pcStack_114" * identifier) ;) (declaration "double dStack_110;" primitive_type identifier ;) (declaration "double dStack_108;" primitive_type identifier ;) (declaration "double dStack_100;" primitive_type identifier ;) (declaration "undefined4 uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "int iStack_e0;" primitive_type identifier ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "code *pcStack_d8;" type_identifier (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "double dStack_c0;" primitive_type identifier ;) (declaration "double dStack_b8;" primitive_type identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int *piStack_ac;" primitive_type (pointer_declarator "*piStack_ac" * identifier) ;) (declaration "int iStack_a8;" primitive_type identifier ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "undefined4 uStack_2c;" type_identifier identifier ;) (declaration "int iStack_1c;" primitive_type identifier ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" ( (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38" identifier + number_literal) , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" identifier + number_literal) , number_literal , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" else (if_statement "if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x68) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x68) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *(int *)(param_1 + 100);\n  }" { (return_statement "return *(int *)(param_1 + 100);" return (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) ;) })))) (expression_statement "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;" (assignment_expression "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" identifier = (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" identifier + number_literal)) ;) (expression_statement "pcVar17 = FUN_001b5f20;" (assignment_expression "pcVar17 = FUN_001b5f20" identifier = identifier) ;) (expression_statement "puVar15 = PTR___assert_fail_003fa620;" (assignment_expression "puVar15 = PTR___assert_fail_003fa620" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" ( identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" identifier + number_literal) , number_literal , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" identifier + number_literal) ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }" { (expression_statement "(**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);" (call_expression "(**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378)" (parenthesized_expression "(**(code **)(puVar15 + 0x244700))" ( (pointer_expression "**(code **)(puVar15 + 0x244700)" * (pointer_expression "*(code **)(puVar15 + 0x244700)" * (cast_expression "(code **)(puVar15 + 0x244700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x244700)" ( (binary_expression "puVar15 + 0x244700" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378)" ( (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d38" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" else (if_statement "if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" if (parenthesized_expression "(*(int *)(puVar4 + 0x68) == -0x54535255)" ( (binary_expression "*(int *)(puVar4 + 0x68) == -0x54535255" (pointer_expression "*(int *)(puVar4 + 0x68)" * (cast_expression "(int *)(puVar4 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x68)" ( (binary_expression "puVar4 + 0x68" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return -0x54535255;\n  }" { (return_statement "return -0x54535255;" return number_literal ;) })))) (expression_statement "iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;" (assignment_expression "iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378" identifier = (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar12 = 0x64f;" (assignment_expression "iVar12 = 0x64f" identifier = number_literal) ;) (expression_statement "piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);" (assignment_expression "piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" identifier = (cast_expression "(int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" ( (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;" (assignment_expression "iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10" identifier = (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d10" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x244700);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x244700)" identifier = (pointer_expression "*(code **)(puVar15 + 0x244700)" * (cast_expression "(code **)(puVar15 + 0x244700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x244700)" ( (binary_expression "puVar15 + 0x244700" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_d8 = pcVar16 + 0x24b8fc;" (assignment_expression "pcStack_d8 = pcVar16 + 0x24b8fc" identifier = (binary_expression "pcVar16 + 0x24b8fc" identifier + number_literal)) ;) (expression_statement "dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);" (assignment_expression "dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c)" identifier = (cast_expression "(double)CONCAT44(puVar15 + 0x24b990,uStack_2c)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(puVar15 + 0x24b990,uStack_2c)" identifier (argument_list "(puVar15 + 0x24b990,uStack_2c)" ( (binary_expression "puVar15 + 0x24b990" identifier + number_literal) , identifier ))))) ;) (expression_statement "iStack_84 = **(int **)(pcVar16 + 0x244294);" (assignment_expression "iStack_84 = **(int **)(pcVar16 + 0x244294)" identifier = (pointer_expression "**(int **)(pcVar16 + 0x244294)" * (pointer_expression "*(int **)(pcVar16 + 0x244294)" * (cast_expression "(int **)(pcVar16 + 0x244294)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x244294)" ( (binary_expression "pcVar16 + 0x244294" identifier + number_literal) )))))) ;) (expression_statement "dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);" (assignment_expression "dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x24392c) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x24392c) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x24392c)" * (cast_expression "(int *)(pcVar16 + 0x24392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x24392c)" ( (binary_expression "pcVar16 + 0x24392c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);" (assignment_expression "dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" identifier = (binary_expression "dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" (binary_expression "dVar19 / dVar21" identifier / identifier) + (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x24392c) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x24392c)" * (cast_expression "(int *)(pcVar16 + 0x24392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x24392c)" ( (binary_expression "pcVar16 + 0x24392c" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }" if (parenthesized_expression "(dVar23 <= dVar19)" ( (binary_expression "dVar23 <= dVar19" identifier <= identifier) )) (compound_statement "{\n    dVar23 = dVar19;\n  }" { (expression_statement "dVar23 = dVar19;" (assignment_expression "dVar23 = dVar19" identifier = identifier) ;) })) (expression_statement "dVar19 = (double)FUN_001b5f20(iVar5);" (assignment_expression "dVar19 = (double)FUN_001b5f20(iVar5)" identifier = (cast_expression "(double)FUN_001b5f20(iVar5)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_001b5f20(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "dVar19 = dVar23 * dVar19;" (assignment_expression "dVar19 = dVar23 * dVar19" identifier = (binary_expression "dVar23 * dVar19" identifier * identifier)) ;) (expression_statement "pdVar10 = (double *)0x1;" (assignment_expression "pdVar10 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }" if (parenthesized_expression "(dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0))" ( (binary_expression "dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" identifier <= (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    pdVar10 = (double *)*piVar9;\n  }" { (expression_statement "pdVar10 = (double *)*piVar9;" (assignment_expression "pdVar10 = (double *)*piVar9" identifier = (cast_expression "(double *)*piVar9" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) })) (expression_statement "iVar13 = iStack_1c;" (assignment_expression "iVar13 = iStack_1c" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);" (assignment_expression "iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x7074))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7074))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7074)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7074)" * (cast_expression "(code **)(pcStack_d8 + -0x7074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7074)" ( (binary_expression "pcStack_d8 + -0x7074" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }" { (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" if (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19)" ( (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }" { (expression_statement "dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);" (assignment_expression "dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" identifier = (binary_expression "dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (binary_expression "dVar19 + dVar19" identifier + identifier) + (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fcc)" * (cast_expression "(int *)(pcStack_d8 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fcc)" ( (binary_expression "pcStack_d8 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" if (parenthesized_expression "(dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (binary_expression "dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" identifier < (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n        uVar7 = (uint)dVar22;\n      }" { (expression_statement "uVar7 = (uint)dVar22;" (assignment_expression "uVar7 = (uint)dVar22" identifier = (cast_expression "(uint)dVar22" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" else (compound_statement "{\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" { (expression_statement "uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;" (assignment_expression "uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" identifier = (binary_expression "(int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (binary_expression "dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" identifier - (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ))) | number_literal)) ;) }))) (expression_statement "unaff_s5 = FUN_001b06c0(uVar7);" (assignment_expression "unaff_s5 = FUN_001b06c0(uVar7)" identifier = (call_expression "FUN_001b06c0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (unaff_s5 == 0) goto LAB_001b6148;" if (parenthesized_expression "(unaff_s5 == 0)" ( (binary_expression "unaff_s5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b6148;" goto statement_identifier ;)) (if_statement "if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" if (parenthesized_expression "(dVar23 < 0.0)" ( (binary_expression "dVar23 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }" { (expression_statement "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);" (assignment_expression "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4418" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" else (compound_statement "{\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" { (expression_statement "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;" if (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)" ( (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) <= (binary_expression "dVar23 * dVar22" identifier * identifier)) )) (goto_statement "goto LAB_001b6340;" goto statement_identifier ;)) (expression_statement "dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);" (assignment_expression "dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" identifier = (binary_expression "dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" identifier / (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" else (compound_statement "{\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" { (expression_statement "unaff_s5 = FUN_001b06c0(4);" (assignment_expression "unaff_s5 = FUN_001b06c0(4)" identifier = (call_expression "FUN_001b06c0(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (if_statement "if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }" if (parenthesized_expression "(unaff_s5 == 0)" ( (binary_expression "unaff_s5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }" { (labeled_statement "LAB_001b6148:\n        piVar9 = piVar9 + 0xd0;" statement_identifier : (expression_statement "piVar9 = piVar9 + 0xd0;" (assignment_expression "piVar9 = piVar9 + 0xd0" identifier = (binary_expression "piVar9 + 0xd0" identifier + number_literal)) ;)) (expression_statement "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;" (assignment_expression "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;" (assignment_expression "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uStack_e8 = 400;" (assignment_expression "uStack_e8 = 400" identifier = number_literal) ;) (expression_statement "iVar14 = 0xdce;" (assignment_expression "iVar14 = 0xdce" identifier = number_literal) ;) (expression_statement "iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;" (assignment_expression "iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2870" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" * (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fb8)" ( (binary_expression "pcStack_d8 + -0x7fb8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);" (assignment_expression "pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" identifier = (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" * (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fb8)" ( (binary_expression "pcStack_d8 + -0x7fb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piStack_dc = piVar9;" (assignment_expression "piStack_dc = piVar9" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);" (call_expression "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7978))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7978)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7978)" * (cast_expression "(code **)(pcStack_d8 + -0x7978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7978)" ( (binary_expression "pcStack_d8 + -0x7978" identifier + number_literal) ))))) )) (argument_list "(iStack_1c,pdVar10,iVar13,0xdce)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001b64a0;" goto statement_identifier ;) })) (expression_statement "dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);" (assignment_expression "dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;" statement_identifier : (expression_statement "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;" (assignment_expression "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23" identifier = (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;)) }))) (expression_statement "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);" (assignment_expression "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7144))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7144)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7144)" * (cast_expression "(code **)(pcStack_d8 + -0x7144)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7144)" ( (binary_expression "pcStack_d8 + -0x7144" identifier + number_literal) ))))) )) (argument_list "(piVar9,iStack_1c)" ( identifier , identifier )))) ;) (expression_statement "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);" (assignment_expression "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79c4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79c4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79c4)" * (cast_expression "(code **)(pcStack_d8 + -0x79c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79c4)" ( (binary_expression "pcStack_d8 + -0x79c4" identifier + number_literal) ))))) )) (argument_list "(iVar12,iStack_1c)" ( identifier , identifier )))) ;) (expression_statement "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (if_statement "if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" if (parenthesized_expression "((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3))" ( (binary_expression "(iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)" (parenthesized_expression "(iVar14 == 4)" ( (binary_expression "iVar14 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)" ( (comma_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) , (binary_expression "iVar14 == 3" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }" { (expression_statement "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier )))) ;) (if_statement "if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;" if (parenthesized_expression "((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))" ( (binary_expression "(iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3)" (parenthesized_expression "(iVar14 != 4)" ( (binary_expression "iVar14 != 4" identifier != number_literal) )) && (parenthesized_expression "(iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3)" ( (comma_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier )))) , (binary_expression "iVar14 != 3" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001b63c0;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = *(int *)(iVar12 + 0x1c);" (assignment_expression "iVar2 = *(int *)(iVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar12 + 0x1c)" * (cast_expression "(int *)(iVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (if_statement "if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar14 = iVar2 + 0x3f;\n      }" { (expression_statement "iVar14 = iVar2 + 0x3f;" (assignment_expression "iVar14 = iVar2 + 0x3f" identifier = (binary_expression "iVar2 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1 < iVar14 >> 6)" ( (binary_expression "extraout_v1 < iVar14 >> 6" identifier < (binary_expression "iVar14 >> 6" identifier >> number_literal)) )) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" identifier = (binary_expression "extraout_v1_01 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar2 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar2 < 0x80;\n      }" { (expression_statement "bVar1 = iVar2 < 0x80;" (assignment_expression "bVar1 = iVar2 < 0x80" identifier = (binary_expression "iVar2 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\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_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar13 = *(int *)(iVar12 + 0x1c);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar12 + 0x1c)" * (cast_expression "(int *)(iVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar13 = iVar13 + 0x3f;\n        }" { (expression_statement "iVar13 = iVar13 + 0x3f;" (assignment_expression "iVar13 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar13 = iVar13 >> 6;" (assignment_expression "iVar13 = iVar13 >> 6" identifier = (binary_expression "iVar13 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }" if (parenthesized_expression "(extraout_v1_02 < iVar13)" ( (binary_expression "extraout_v1_02 < iVar13" identifier < identifier) )) (compound_statement "{\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar13 = extraout_v1_03;" (assignment_expression "iVar13 = extraout_v1_03" identifier = identifier) ;) })) })) }) (else_clause "else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" else (compound_statement "{\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" { (labeled_statement "LAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" statement_identifier : (expression_statement "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }" { (expression_statement "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;" if (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001b63dc;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x775c)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }" if (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001b63fc;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" else (compound_statement "{\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" { (labeled_statement "LAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);" statement_identifier : (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x775c)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar25 = (*pcVar16)(7);" (assignment_expression "uVar25 = (*pcVar16)(7)" identifier = (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar13 = extraout_v1_00;" (assignment_expression "iVar13 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n        iVar13 = 2;\n      }" else (compound_statement "{\n        iVar13 = 2;\n      }" { (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001b63fc:\n    iStack_94 = 1;" statement_identifier : (expression_statement "iStack_94 = 1;" (assignment_expression "iStack_94 = 1" identifier = number_literal) ;)) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "pdVar10 = &dStack_d0;" (assignment_expression "pdVar10 = &dStack_d0" identifier = (pointer_expression "&dStack_d0" & identifier)) ;) (expression_statement "dStack_d0 = dVar21;" (assignment_expression "dStack_d0 = dVar21" identifier = identifier) ;) (expression_statement "pcStack_c4 = pcVar17;" (assignment_expression "pcStack_c4 = pcVar17" identifier = identifier) ;) (expression_statement "dStack_c0 = dVar23;" (assignment_expression "dStack_c0 = dVar23" identifier = identifier) ;) (expression_statement "dStack_b8 = dVar19;" (assignment_expression "dStack_b8 = dVar19" identifier = identifier) ;) (expression_statement "iStack_b0 = iVar5;" (assignment_expression "iStack_b0 = iVar5" identifier = identifier) ;) (expression_statement "piStack_ac = piVar9;" (assignment_expression "piStack_ac = piVar9" identifier = identifier) ;) (expression_statement "iStack_a8 = iVar12;" (assignment_expression "iStack_a8 = iVar12" identifier = identifier) ;) (expression_statement "uStack_a0 = unaff_s7;" (assignment_expression "uStack_a0 = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_9c = unaff_s8;" (assignment_expression "uStack_9c = unaff_s8" identifier = identifier) ;) (expression_statement "iStack_98 = unaff_s5;" (assignment_expression "iStack_98 = unaff_s5" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);" (call_expression "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7700))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7700)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7700)" * (cast_expression "(code **)(pcStack_d8 + -0x7700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7700)" ( (binary_expression "pcStack_d8 + -0x7700" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c" (pointer_expression "*(int *)(pcStack_d8 + -0x7d54)" * (cast_expression "(int *)(pcStack_d8 + -0x7d54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7d54)" ( (binary_expression "pcStack_d8 + -0x7d54" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "iVar2 = iStack_94;" (assignment_expression "iVar2 = iStack_94" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" * (cast_expression "(code **)(pcStack_d8 + -0x79a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79a4)" ( (binary_expression "pcStack_d8 + -0x79a4" identifier + number_literal) ))))) )) (argument_list "(unaff_s8)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" * (cast_expression "(code **)(pcStack_d8 + -0x79a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79a4)" ( (binary_expression "pcStack_d8 + -0x79a4" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) (expression_statement "FUN_001b05f0(unaff_s5);" (call_expression "FUN_001b05f0(unaff_s5)" identifier (argument_list "(unaff_s5)" ( identifier ))) ;) })) (labeled_statement "LAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }" if (parenthesized_expression "(iStack_84 == **(int **)(pcStack_d8 + -0x7668))" ( (binary_expression "iStack_84 == **(int **)(pcStack_d8 + -0x7668)" identifier == (pointer_expression "**(int **)(pcStack_d8 + -0x7668)" * (pointer_expression "*(int **)(pcStack_d8 + -0x7668)" * (cast_expression "(int **)(pcStack_d8 + -0x7668)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7668)" ( (binary_expression "pcStack_d8 + -0x7668" identifier + number_literal) )))))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x7834);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x7834)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x7834)" * (cast_expression "(code **)(pcStack_d8 + -0x7834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7834)" ( (binary_expression "pcStack_d8 + -0x7834" identifier + number_literal) ))))) ;) (expression_statement "pcVar18 = FUN_001b64fc;" (assignment_expression "pcVar18 = FUN_001b64fc" identifier = identifier) ;) (expression_statement "iVar6 = iStack_84;" (assignment_expression "iVar6 = iStack_84" identifier = identifier) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar17 = pcStack_d8;" (assignment_expression "pcVar17 = pcStack_d8" identifier = identifier) ;) (expression_statement "dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);" (assignment_expression "dVar22 = (double)CONCAT44(uStack_e8,iStack_e4)" identifier = (cast_expression "(double)CONCAT44(uStack_e8,iStack_e4)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uStack_e8,iStack_e4)" identifier (argument_list "(uStack_e8,iStack_e4)" ( identifier , identifier ))))) ;) (expression_statement "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);" (assignment_expression "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar16 + 0x243d4c)" * (pointer_expression "*(undefined4 **)(pcVar16 + 0x243d4c)" * (cast_expression "(undefined4 **)(pcVar16 + 0x243d4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243d4c)" ( (binary_expression "pcVar16 + 0x243d4c" identifier + number_literal) ))))))) ;) (expression_statement "dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" identifier = (binary_expression "dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (binary_expression "dVar20 / dVar22" identifier / identifier) + (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }" if (parenthesized_expression "(dVar24 <= dVar20)" ( (binary_expression "dVar24 <= dVar20" identifier <= identifier) )) (compound_statement "{\n    dVar24 = dVar20;\n  }" { (expression_statement "dVar24 = dVar20;" (assignment_expression "dVar24 = dVar20" identifier = identifier) ;) })) (expression_statement "iStack_138 = iVar2;" (assignment_expression "iStack_138 = iVar2" identifier = identifier) ;) (expression_statement "iStack_134 = iVar12;" (assignment_expression "iStack_134 = iVar12" identifier = identifier) ;) (expression_statement "piStack_12c = piVar9;" (assignment_expression "piStack_12c = piVar9" identifier = identifier) ;) (expression_statement "iStack_128 = iVar5;" (assignment_expression "iStack_128 = iVar5" identifier = identifier) ;) (expression_statement "iStack_124 = unaff_s5;" (assignment_expression "iStack_124 = unaff_s5" identifier = identifier) ;) (expression_statement "uStack_11c = unaff_s7;" (assignment_expression "uStack_11c = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_118 = unaff_s8;" (assignment_expression "uStack_118 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_114 = pcVar18;" (assignment_expression "pcStack_114 = pcVar18" identifier = identifier) ;) (expression_statement "dStack_110 = dVar23;" (assignment_expression "dStack_110 = dVar23" identifier = identifier) ;) (expression_statement "dStack_108 = dVar21;" (assignment_expression "dStack_108 = dVar21" identifier = identifier) ;) (expression_statement "dStack_100 = dVar19;" (assignment_expression "dStack_100 = dVar19" identifier = identifier) ;) (expression_statement "dVar21 = (double)FUN_001b5f20(iVar6);" (assignment_expression "dVar21 = (double)FUN_001b5f20(iVar6)" identifier = (cast_expression "(double)FUN_001b5f20(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_001b5f20(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "dVar21 = dVar24 * dVar21;" (assignment_expression "dVar21 = dVar24 * dVar21" identifier = (binary_expression "dVar24 * dVar21" identifier * identifier)) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (if_statement "if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }" if (parenthesized_expression "(dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0))" ( (binary_expression "dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" identifier <= (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    uVar11 = *(undefined4 *)pdVar10;\n  }" { (expression_statement "uVar11 = *(undefined4 *)pdVar10;" (assignment_expression "uVar11 = *(undefined4 *)pdVar10" identifier = (pointer_expression "*(undefined4 *)pdVar10" * (cast_expression "(undefined4 *)pdVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "iVar12 = iStack_d4;" (assignment_expression "iVar12 = iStack_d4" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x244340))" ( (pointer_expression "**(code **)(pcVar16 + 0x244340)" * (pointer_expression "*(code **)(pcVar16 + 0x244340)" * (cast_expression "(code **)(pcVar16 + 0x244340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x244340)" ( (binary_expression "pcVar16 + 0x244340" identifier + number_literal) ))))) )) (argument_list "(iVar13,uVar11,iStack_d4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) goto LAB_001b69e8;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b69e8;" goto statement_identifier ;)) (if_statement "if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" if (parenthesized_expression "(*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21)" ( (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }" { (expression_statement "dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);" (assignment_expression "dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" identifier = (binary_expression "dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" (binary_expression "dVar21 + dVar21" identifier + identifier) + (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e8) + -0xcc0" (pointer_expression "*(int *)(pcVar16 + 0x2433e8)" * (cast_expression "(int *)(pcVar16 + 0x2433e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e8)" ( (binary_expression "pcVar16 + 0x2433e8" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" if (parenthesized_expression "(dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" ( (binary_expression "dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" identifier < (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      uVar7 = (uint)dVar23;\n    }" { (expression_statement "uVar7 = (uint)dVar23;" (assignment_expression "uVar7 = (uint)dVar23" identifier = (cast_expression "(uint)dVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" else (compound_statement "{\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" { (expression_statement "uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;" (assignment_expression "uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000" identifier = (binary_expression "(int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" ( (binary_expression "dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" identifier - (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ))) | number_literal)) ;) }))) (expression_statement "iVar2 = FUN_001b06c0(uVar7);" (assignment_expression "iVar2 = FUN_001b06c0(uVar7)" identifier = (call_expression "FUN_001b06c0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_001b6690;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b6690;" goto statement_identifier ;)) (if_statement "if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" if (parenthesized_expression "(dVar24 < 0.0)" ( (binary_expression "dVar24 < 0.0" identifier < number_literal) )) (compound_statement "{\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }" { (expression_statement "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4418" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" else (compound_statement "{\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" { (expression_statement "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;" if (parenthesized_expression "(*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23)" ( (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) <= (binary_expression "dVar24 * dVar23" identifier * identifier)) )) (goto_statement "goto LAB_001b6888;" goto statement_identifier ;)) (expression_statement "dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" identifier = (binary_expression "dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" identifier / (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" else (compound_statement "{\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" { (expression_statement "iVar2 = FUN_001b06c0(4);" (assignment_expression "iVar2 = FUN_001b06c0(4)" identifier = (call_expression "FUN_001b06c0(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (if_statement "if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }" { (labeled_statement "LAB_001b6690:\n      iVar14 = 0xcf4;" statement_identifier : (expression_statement "iVar14 = 0xcf4;" (assignment_expression "iVar14 = 0xcf4" identifier = number_literal) ;)) (expression_statement "iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;" (assignment_expression "iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4" identifier = (binary_expression "*(int *)(pcVar16 + 0x2433fc) + -0x28a4" (pointer_expression "*(int *)(pcVar16 + 0x2433fc)" * (cast_expression "(int *)(pcVar16 + 0x2433fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433fc)" ( (binary_expression "pcVar16 + 0x2433fc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);" (call_expression "(**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a3c))" ( (pointer_expression "**(code **)(pcVar16 + 0x243a3c)" * (pointer_expression "*(code **)(pcVar16 + 0x243a3c)" * (cast_expression "(code **)(pcVar16 + 0x243a3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243a3c)" ( (binary_expression "pcVar16 + 0x243a3c" identifier + number_literal) ))))) )) (argument_list "(iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68)" ( identifier , (binary_expression "*(int *)(pcVar16 + 0x2433fc) + -0x2d88" (pointer_expression "*(int *)(pcVar16 + 0x2433fc)" * (cast_expression "(int *)(pcVar16 + 0x2433fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433fc)" ( (binary_expression "pcVar16 + 0x2433fc" identifier + number_literal) )))) + number_literal) , identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x46c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x6e78" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) , (binary_expression "pdVar10 + 0x68" identifier + number_literal) ))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001b69e8;" goto statement_identifier ;) })) (expression_statement "dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);" (assignment_expression "dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;" statement_identifier : (expression_statement "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;" (assignment_expression "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24" identifier = (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;)) }))) (expression_statement "uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);" (assignment_expression "uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x244270))" ( (pointer_expression "**(code **)(pcVar16 + 0x244270)" * (pointer_expression "*(code **)(pcVar16 + 0x244270)" * (cast_expression "(code **)(pcVar16 + 0x244270)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x244270)" ( (binary_expression "pcVar16 + 0x244270" identifier + number_literal) ))))) )) (argument_list "(pdVar10,iStack_d4)" ( identifier , identifier )))) ;) (expression_statement "uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);" (assignment_expression "uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2439f0))" ( (pointer_expression "**(code **)(pcVar16 + 0x2439f0)" * (pointer_expression "*(code **)(pcVar16 + 0x2439f0)" * (cast_expression "(code **)(pcVar16 + 0x2439f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2439f0)" ( (binary_expression "pcVar16 + 0x2439f0" identifier + number_literal) ))))) )) (argument_list "(iVar13,iStack_d4)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(pdVar10)" ( identifier )))) ;) (if_statement "if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" if (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(pdVar10)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(iVar13)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(iVar13)" ( identifier )))) ;) (if_statement "if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;" if (parenthesized_expression "((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))" ( (binary_expression "(iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3)" (parenthesized_expression "(iVar5 != 4)" ( (binary_expression "iVar5 != 4" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(iVar13)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(iVar13)" ( identifier )))) , (binary_expression "iVar5 != 3" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001b6908;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar13 + 0x18)" identifier = (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iVar12;" (assignment_expression "iVar5 = iVar12" identifier = identifier) ;) (if_statement "if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar5 = iVar12 + 0x3f;\n    }" { (expression_statement "iVar5 = iVar12 + 0x3f;" (assignment_expression "iVar5 = iVar12 + 0x3f" identifier = (binary_expression "iVar12 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1_04 < iVar5 >> 6)" ( (binary_expression "extraout_v1_04 < iVar5 >> 6" identifier < (binary_expression "iVar5 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" 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 = iVar12 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = iVar12 < 0x80;\n    }" { (expression_statement "bVar1 = iVar12 < 0x80;" (assignment_expression "bVar1 = iVar12 < 0x80" identifier = (binary_expression "iVar12 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\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 **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar13 + 0x18)" identifier = (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar12 = iVar12 + 0x3f;\n      }" { (expression_statement "iVar12 = iVar12 + 0x3f;" (assignment_expression "iVar12 = iVar12 + 0x3f" identifier = (binary_expression "iVar12 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar12 = iVar12 >> 6;" (assignment_expression "iVar12 = iVar12 >> 6" identifier = (binary_expression "iVar12 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }" if (parenthesized_expression "(extraout_v1_07 < iVar12)" ( (binary_expression "extraout_v1_07 < iVar12" identifier < identifier) )) (compound_statement "{\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = extraout_v1_08;" (assignment_expression "iVar12 = extraout_v1_08" identifier = identifier) ;) })) })) }) (else_clause "else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" else (compound_statement "{\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" { (labeled_statement "LAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" statement_identifier : (expression_statement "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" (assignment_expression "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }" { (expression_statement "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" (assignment_expression "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;" if (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001b6924;" goto statement_identifier ;)) (expression_statement "pcVar18 = *(code **)(pcVar16 + 0x243c58);" (assignment_expression "pcVar18 = *(code **)(pcVar16 + 0x243c58)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }" if (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }" { (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001b6944;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" else (compound_statement "{\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" { (labeled_statement "LAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);" statement_identifier : (expression_statement "pcVar18 = *(code **)(pcVar16 + 0x243c58);" (assignment_expression "pcVar18 = *(code **)(pcVar16 + 0x243c58)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar25 = (*pcVar18)(7);" (assignment_expression "uVar25 = (*pcVar18)(7)" identifier = (call_expression "(*pcVar18)(7)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = extraout_v1_05;" (assignment_expression "iVar12 = extraout_v1_05" identifier = identifier) ;) }) (else_clause "else {\n      iVar12 = 2;\n    }" else (compound_statement "{\n      iVar12 = 2;\n    }" { (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001b6944:\n  pcStack_148 = pcVar17;" statement_identifier : (expression_statement "pcStack_148 = pcVar17;" (assignment_expression "pcStack_148 = pcVar17" identifier = identifier) ;)) (expression_statement "iStack_15c = iStack_d4;" (assignment_expression "iStack_15c = iStack_d4" identifier = identifier) ;) (expression_statement "piStack_17c = piStack_dc;" (assignment_expression "piStack_17c = piStack_dc" identifier = identifier) ;) (expression_statement "iStack_180 = iStack_e0;" (assignment_expression "iStack_180 = iStack_e0" identifier = identifier) ;) (expression_statement "iStack_14c = 1;" (assignment_expression "iStack_14c = 1" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "dStack_188 = dVar22;" (assignment_expression "dStack_188 = dVar22" identifier = identifier) ;) (expression_statement "dStack_178 = dVar24;" (assignment_expression "dStack_178 = dVar24" identifier = identifier) ;) (expression_statement "dStack_170 = dVar21;" (assignment_expression "dStack_170 = dVar21" identifier = identifier) ;) (expression_statement "iStack_168 = iVar6;" (assignment_expression "iStack_168 = iVar6" identifier = identifier) ;) (expression_statement "pdStack_164 = pdVar10;" (assignment_expression "pdStack_164 = pdVar10" identifier = identifier) ;) (expression_statement "iStack_160 = iVar13;" (assignment_expression "iStack_160 = iVar13" identifier = identifier) ;) (expression_statement "uStack_158 = uVar11;" (assignment_expression "uStack_158 = uVar11" identifier = identifier) ;) (expression_statement "uStack_154 = uVar3;" (assignment_expression "uStack_154 = uVar3" identifier = identifier) ;) (expression_statement "iStack_150 = iVar2;" (assignment_expression "iStack_150 = iVar2" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);" (call_expression "(**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243cb4))" ( (pointer_expression "**(code **)(pcVar16 + 0x243cb4)" * (pointer_expression "*(code **)(pcVar16 + 0x243cb4)" * (cast_expression "(code **)(pcVar16 + 0x243cb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243cb4)" ( (binary_expression "pcVar16 + 0x243cb4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0)" ( (binary_expression "*(int *)(pcVar16 + 0x243678) + -0x7bac" (pointer_expression "*(int *)(pcVar16 + 0x243678)" * (cast_expression "(int *)(pcVar16 + 0x243678)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x243678)" ( (binary_expression "pcVar16 + 0x243678" identifier + number_literal) )))) + number_literal) , (pointer_expression "&dStack_188" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar5 = iStack_14c;" (assignment_expression "iVar5 = iStack_14c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar16 + 0x243a10))(uVar3);" (call_expression "(**(code **)(pcVar16 + 0x243a10))(uVar3)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a10))" ( (pointer_expression "**(code **)(pcVar16 + 0x243a10)" * (pointer_expression "*(code **)(pcVar16 + 0x243a10)" * (cast_expression "(code **)(pcVar16 + 0x243a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243a10)" ( (binary_expression "pcVar16 + 0x243a10" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar16 + 0x243a10))(uVar11);" (call_expression "(**(code **)(pcVar16 + 0x243a10))(uVar11)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a10))" ( (pointer_expression "**(code **)(pcVar16 + 0x243a10)" * (pointer_expression "*(code **)(pcVar16 + 0x243a10)" * (cast_expression "(code **)(pcVar16 + 0x243a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243a10)" ( (binary_expression "pcVar16 + 0x243a10" identifier + number_literal) ))))) )) (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "FUN_001b05f0(iVar2);" (call_expression "FUN_001b05f0(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (labeled_statement "LAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }" statement_identifier : (if_statement "if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }" if (parenthesized_expression "(puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c))" ( (binary_expression "puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)" identifier == (cast_expression "(undefined4 *)**(int **)(pcVar16 + 0x243d4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcVar16 + 0x243d4c)" * (pointer_expression "*(int **)(pcVar16 + 0x243d4c)" * (cast_expression "(int **)(pcVar16 + 0x243d4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243d4c)" ( (binary_expression "pcVar16 + 0x243d4c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) }))) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x243b80);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x243b80)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x243b80)" * (cast_expression "(code **)(pcVar16 + 0x243b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243b80)" ( (binary_expression "pcVar16 + 0x243b80" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = puStack_13c;" (assignment_expression "puVar8 = puStack_13c" identifier = identifier) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }" { (if_statement "if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }" if (parenthesized_expression "(puVar8[0x1a] == -0x54535255)" ( (binary_expression "puVar8[0x1a] == -0x54535255" (subscript_expression "puVar8[0x1a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }" { (expression_statement "dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);" (assignment_expression "dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8)" identifier = (binary_expression "ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8)" (call_expression "ABS((double)CONCAT44(iVar12,iVar14))" identifier (argument_list "((double)CONCAT44(iVar12,iVar14))" ( (cast_expression "(double)CONCAT44(iVar12,iVar14)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(iVar12,iVar14)" identifier (argument_list "(iVar12,iVar14)" ( identifier , identifier )))) ))) / (pointer_expression "*(double *)(puVar8 + 8)" * (cast_expression "(double *)(puVar8 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) )))))) ;) (if_statement "if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }" if (parenthesized_expression "((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)))" ( (binary_expression "(*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))" (parenthesized_expression "(*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4))" ( (binary_expression "*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)" (pointer_expression "*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" ( (binary_expression "*(int *)(pcVar17 + 0x242e9c) + 0x43c8" (pointer_expression "*(int *)(pcVar17 + 0x242e9c)" * (cast_expression "(int *)(pcVar17 + 0x242e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242e9c)" ( (binary_expression "pcVar17 + 0x242e9c" identifier + number_literal) )))) + number_literal) )))) <= (pointer_expression "*(double *)(puVar8 + 4)" * (cast_expression "(double *)(puVar8 + 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) ))))) )) && (parenthesized_expression "((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))" ( (binary_expression "(code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)" (cast_expression "(code *)puVar8[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ])) != (cast_expression "(code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x243118) + -0x24f0)" ( (binary_expression "*(int *)(pcVar17 + 0x243118) + -0x24f0" (pointer_expression "*(int *)(pcVar17 + 0x243118)" * (cast_expression "(int *)(pcVar17 + 0x243118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x243118)" ( (binary_expression "pcVar17 + 0x243118" identifier + number_literal) )))) + number_literal) )))) ))) )) (compound_statement "{\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }" { (expression_statement "(*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));" (call_expression "(*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6))" (parenthesized_expression "(*(code *)puVar8[1])" ( (pointer_expression "*(code *)puVar8[1]" * (cast_expression "(code *)puVar8[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) )) (argument_list "(dVar21 * *(double *)(puVar8 + 6))" ( (binary_expression "dVar21 * *(double *)(puVar8 + 6)" identifier * (pointer_expression "*(double *)(puVar8 + 6)" * (cast_expression "(double *)(puVar8 + 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 6)" ( (binary_expression "puVar8 + 6" identifier + number_literal) ))))) ))) ;) })) (expression_statement "iVar5 = (*(code *)*puVar8)(dVar21);" (assignment_expression "iVar5 = (*(code *)*puVar8)(dVar21)" identifier = (call_expression "(*(code *)*puVar8)(dVar21)" (parenthesized_expression "(*(code *)*puVar8)" ( (pointer_expression "*(code *)*puVar8" * (cast_expression "(code *)*puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) )) (argument_list "(dVar21)" ( identifier )))) ;) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" identifier = (call_expression "(**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" (parenthesized_expression "(**(code **)(pcVar17 + 0x243bdc))" ( (pointer_expression "**(code **)(pcVar17 + 0x243bdc)" * (pointer_expression "*(code **)(pcVar17 + 0x243bdc)" * (cast_expression "(code **)(pcVar17 + 0x243bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x243bdc)" ( (binary_expression "pcVar17 + 0x243bdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" ( (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d10" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" identifier = (call_expression "(**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x243bdc))" ( (pointer_expression "**(code **)(pcVar17 + 0x243bdc)" * (pointer_expression "*(code **)(pcVar17 + 0x243bdc)" * (cast_expression "(code **)(pcVar17 + 0x243bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x243bdc)" ( (binary_expression "pcVar17 + 0x243bdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" ( (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d38" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar17 + 0x24ae6c" identifier + number_literal) )))) ;) (return_statement "return iVar5;" 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\nResizeWeightingFunctionType GetResizeFilterWindowWeightingType(ResizeFilter *resize_filter)\n\n{\n  bool bVar1;\n  ResizeWeightingFunctionType RVar2;\n  ContributionInfo **contribution;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  ResizeFilter *resize_filter_00;\n  ResizeFilter *resize_filter_01;\n  size_t sVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  double *pdVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  ContributionInfo **unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar13;\n  code *pcVar14;\n  undefined4 unaff_s8;\n  code *pcVar15;\n  code *pcVar16;\n  double dVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  undefined8 uVar23;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  ResizeFilter *pRStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  ContributionInfo **ppCStack_150;\n  ResizeWeightingFunctionType RStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  ResizeWeightingFunctionType RStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  ResizeFilter *pRStack_128;\n  ContributionInfo **ppCStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  ResizeFilter *pRStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  ContributionInfo **ppCStack_98;\n  ResizeWeightingFunctionType RStack_94;\n  ResizeFilter *pRStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (resize_filter == (ResizeFilter *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (resize_filter->signature == 0xabacadab) {\n    return resize_filter->windowWeightingType;\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar15 = GetResizeFilterSupport;\n  puVar13 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar13 + 0x244700))\n              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return 0xabacadab;\n  }\n  iVar12 = *(int *)(puVar13 + 0x2439d8) + -0x2378;\n  iVar10 = 0x64f;\n  piVar7 = (int *)(*(int *)(puVar13 + 0x2439d8) + -0x2d88);\n  resize_filter_00 = (ResizeFilter *)(*(int *)(puVar13 + 0x2439d8) + -0x2d10);\n  pcVar14 = *(code **)(puVar13 + 0x244700);\n  (*pcVar14)();\n  pcStack_d8 = pcVar14 + 0x24b8fc;\n  dVar19 = (double)CONCAT44(puVar13 + 0x24b990,uStack_2c);\n  pRStack_84 = (ResizeFilter *)**(undefined4 **)(pcVar14 + 0x244294);\n  dVar17 = *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408);\n  dVar21 = dVar17 / dVar19 + *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8);\n  if (dVar21 <= dVar17) {\n    dVar21 = dVar17;\n  }\n  dVar17 = GetResizeFilterSupport(resize_filter_00);\n  dVar17 = dVar21 * dVar17;\n  pdVar8 = (double *)0x1;\n  if (dVar17 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar8 = (double *)*piVar7;\n  }\n  iVar11 = iStack_1c;\n  RVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar10);\n  if (RVar2 != BoxWeightingFunction) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17) {\n      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = AcquireContributionThreadSet(sVar5);\n      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;\n      if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;\n      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c);\n    iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7);\n    if ((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)) {\n      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);\n      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar11 = *(int *)(iVar10 + 0x1c);\n      iVar12 = iVar11;\n      if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }\n      if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }\n      iVar11 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }\nLAB_001b63fc:\n    RStack_94 = TriangleWeightingFunction;\n    iVar12 = 0;\n    pdVar8 = &dStack_d0;\n    dStack_d0 = dVar19;\n    pcStack_c4 = pcVar15;\n    dStack_c0 = dVar21;\n    dStack_b8 = dVar17;\n    pRStack_b0 = resize_filter_00;\n    piStack_ac = piVar7;\n    iStack_a8 = iVar10;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    ppCStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0);\n    RVar2 = RStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    DestroyContributionThreadSet(unaff_s5);\n  }\nLAB_001b64a0:\n  if (pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)) {\n    return RVar2;\n  }\n  pcVar14 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar16 = HorizontalFilter;\n  resize_filter_01 = pRStack_84;\n  (*pcVar14)();\n  pcVar15 = pcStack_d8;\n  dVar20 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar14 + 0x243d4c);\n  dVar18 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n  dVar22 = dVar18 / dVar20 + *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  if (dVar22 <= dVar18) {\n    dVar22 = dVar18;\n  }\n  RStack_138 = RVar2;\n  iStack_134 = iVar10;\n  piStack_12c = piVar7;\n  pRStack_128 = resize_filter_00;\n  ppCStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar16;\n  dStack_110 = dVar21;\n  dStack_108 = dVar19;\n  dStack_100 = dVar17;\n  dVar19 = GetResizeFilterSupport(resize_filter_01);\n  dVar19 = dVar22 * dVar19;\n  uVar9 = 1;\n  if (dVar19 <= *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)) {\n    uVar9 = *(undefined4 *)pdVar8;\n  }\n  iVar10 = iStack_d4;\n  RVar2 = (**(code **)(pcVar14 + 0x244340))(iVar11,uVar9,iStack_d4);\n  if (RVar2 == BoxWeightingFunction) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0) <= dVar19) {\n    dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0);\n    if (dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) {\n      sVar5 = (size_t)dVar21;\n    }\n    else {\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    contribution = AcquireContributionThreadSet(sVar5);\n    if (contribution == (ContributionInfo **)0x0) goto LAB_001b6690;\n    if (dVar22 < 0.0) {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21) goto LAB_001b6888;\n    dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    contribution = AcquireContributionThreadSet(4);\n    if (contribution == (ContributionInfo **)0x0) {\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }\n    dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;\n  }\n  uVar9 = (**(code **)(pcVar14 + 0x244270))(pdVar8,iStack_d4);\n  uVar3 = (**(code **)(pcVar14 + 0x2439f0))(iVar11,iStack_d4);\n  iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8);\n  if ((iVar10 == 4) || (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3)) {\n    iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11);\n    if ((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar14 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar11 + 0x18);\n    iVar10 = iVar12;\n    if (iVar12 < 0) {\n      iVar10 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar10 >> 6) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar10 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = *(int *)(iVar11 + 0x18);\n      if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }\n      iVar10 = iVar10 >> 6;\n      if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }\n    uVar23 = (*pcVar16)(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }\n    else {\n      iVar10 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar15;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  RStack_14c = TriangleWeightingFunction;\n  iVar12 = 0;\n  dStack_188 = dVar20;\n  dStack_178 = dVar22;\n  dStack_170 = dVar19;\n  pRStack_168 = resize_filter_01;\n  pdStack_164 = pdVar8;\n  iStack_160 = iVar11;\n  uStack_158 = uVar9;\n  uStack_154 = uVar3;\n  ppCStack_150 = contribution;\n  (**(code **)(pcVar14 + 0x243cb4))(*(int *)(pcVar14 + 0x243678) + -0x7bac,&dStack_188,iVar10,0);\n  RVar2 = RStack_14c;\n  (**(code **)(pcVar14 + 0x243a10))(uVar3);\n  (**(code **)(pcVar14 + 0x243a10))(uVar9);\n  DestroyContributionThreadSet(contribution);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c)) {\n    return RVar2;\n  }\n  pcVar15 = *(code **)(pcVar14 + 0x243b80);\n  puVar6 = puStack_13c;\n  (*pcVar15)();\n  if (puVar6 != (undefined4 *)0x0) {\n    if (puVar6[0x1a] == -0x54535255) {\n      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);\n      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }\n      RVar2 = (*(code *)*puVar6)(dVar19);\n      return RVar2;\n    }\n    RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390);\n    return RVar2;\n  }\n  RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                    (*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c);\n  return RVar2;\n}\n\n" comment comment comment comment comment (function_definition "ResizeWeightingFunctionType GetResizeFilterWindowWeightingType(ResizeFilter *resize_filter)\n\n{\n  bool bVar1;\n  ResizeWeightingFunctionType RVar2;\n  ContributionInfo **contribution;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  ResizeFilter *resize_filter_00;\n  ResizeFilter *resize_filter_01;\n  size_t sVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  double *pdVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  ContributionInfo **unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar13;\n  code *pcVar14;\n  undefined4 unaff_s8;\n  code *pcVar15;\n  code *pcVar16;\n  double dVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  undefined8 uVar23;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  ResizeFilter *pRStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  ContributionInfo **ppCStack_150;\n  ResizeWeightingFunctionType RStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  ResizeWeightingFunctionType RStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  ResizeFilter *pRStack_128;\n  ContributionInfo **ppCStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  ResizeFilter *pRStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  ContributionInfo **ppCStack_98;\n  ResizeWeightingFunctionType RStack_94;\n  ResizeFilter *pRStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (resize_filter == (ResizeFilter *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (resize_filter->signature == 0xabacadab) {\n    return resize_filter->windowWeightingType;\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar15 = GetResizeFilterSupport;\n  puVar13 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar13 + 0x244700))\n              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return 0xabacadab;\n  }\n  iVar12 = *(int *)(puVar13 + 0x2439d8) + -0x2378;\n  iVar10 = 0x64f;\n  piVar7 = (int *)(*(int *)(puVar13 + 0x2439d8) + -0x2d88);\n  resize_filter_00 = (ResizeFilter *)(*(int *)(puVar13 + 0x2439d8) + -0x2d10);\n  pcVar14 = *(code **)(puVar13 + 0x244700);\n  (*pcVar14)();\n  pcStack_d8 = pcVar14 + 0x24b8fc;\n  dVar19 = (double)CONCAT44(puVar13 + 0x24b990,uStack_2c);\n  pRStack_84 = (ResizeFilter *)**(undefined4 **)(pcVar14 + 0x244294);\n  dVar17 = *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408);\n  dVar21 = dVar17 / dVar19 + *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8);\n  if (dVar21 <= dVar17) {\n    dVar21 = dVar17;\n  }\n  dVar17 = GetResizeFilterSupport(resize_filter_00);\n  dVar17 = dVar21 * dVar17;\n  pdVar8 = (double *)0x1;\n  if (dVar17 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar8 = (double *)*piVar7;\n  }\n  iVar11 = iStack_1c;\n  RVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar10);\n  if (RVar2 != BoxWeightingFunction) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17) {\n      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = AcquireContributionThreadSet(sVar5);\n      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;\n      if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;\n      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c);\n    iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7);\n    if ((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)) {\n      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);\n      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar11 = *(int *)(iVar10 + 0x1c);\n      iVar12 = iVar11;\n      if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }\n      if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }\n      iVar11 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }\nLAB_001b63fc:\n    RStack_94 = TriangleWeightingFunction;\n    iVar12 = 0;\n    pdVar8 = &dStack_d0;\n    dStack_d0 = dVar19;\n    pcStack_c4 = pcVar15;\n    dStack_c0 = dVar21;\n    dStack_b8 = dVar17;\n    pRStack_b0 = resize_filter_00;\n    piStack_ac = piVar7;\n    iStack_a8 = iVar10;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    ppCStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0);\n    RVar2 = RStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    DestroyContributionThreadSet(unaff_s5);\n  }\nLAB_001b64a0:\n  if (pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)) {\n    return RVar2;\n  }\n  pcVar14 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar16 = HorizontalFilter;\n  resize_filter_01 = pRStack_84;\n  (*pcVar14)();\n  pcVar15 = pcStack_d8;\n  dVar20 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar14 + 0x243d4c);\n  dVar18 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n  dVar22 = dVar18 / dVar20 + *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  if (dVar22 <= dVar18) {\n    dVar22 = dVar18;\n  }\n  RStack_138 = RVar2;\n  iStack_134 = iVar10;\n  piStack_12c = piVar7;\n  pRStack_128 = resize_filter_00;\n  ppCStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar16;\n  dStack_110 = dVar21;\n  dStack_108 = dVar19;\n  dStack_100 = dVar17;\n  dVar19 = GetResizeFilterSupport(resize_filter_01);\n  dVar19 = dVar22 * dVar19;\n  uVar9 = 1;\n  if (dVar19 <= *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)) {\n    uVar9 = *(undefined4 *)pdVar8;\n  }\n  iVar10 = iStack_d4;\n  RVar2 = (**(code **)(pcVar14 + 0x244340))(iVar11,uVar9,iStack_d4);\n  if (RVar2 == BoxWeightingFunction) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0) <= dVar19) {\n    dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0);\n    if (dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) {\n      sVar5 = (size_t)dVar21;\n    }\n    else {\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    contribution = AcquireContributionThreadSet(sVar5);\n    if (contribution == (ContributionInfo **)0x0) goto LAB_001b6690;\n    if (dVar22 < 0.0) {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21) goto LAB_001b6888;\n    dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    contribution = AcquireContributionThreadSet(4);\n    if (contribution == (ContributionInfo **)0x0) {\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }\n    dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;\n  }\n  uVar9 = (**(code **)(pcVar14 + 0x244270))(pdVar8,iStack_d4);\n  uVar3 = (**(code **)(pcVar14 + 0x2439f0))(iVar11,iStack_d4);\n  iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8);\n  if ((iVar10 == 4) || (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3)) {\n    iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11);\n    if ((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar14 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar11 + 0x18);\n    iVar10 = iVar12;\n    if (iVar12 < 0) {\n      iVar10 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar10 >> 6) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar10 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = *(int *)(iVar11 + 0x18);\n      if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }\n      iVar10 = iVar10 >> 6;\n      if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }\n    uVar23 = (*pcVar16)(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }\n    else {\n      iVar10 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar15;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  RStack_14c = TriangleWeightingFunction;\n  iVar12 = 0;\n  dStack_188 = dVar20;\n  dStack_178 = dVar22;\n  dStack_170 = dVar19;\n  pRStack_168 = resize_filter_01;\n  pdStack_164 = pdVar8;\n  iStack_160 = iVar11;\n  uStack_158 = uVar9;\n  uStack_154 = uVar3;\n  ppCStack_150 = contribution;\n  (**(code **)(pcVar14 + 0x243cb4))(*(int *)(pcVar14 + 0x243678) + -0x7bac,&dStack_188,iVar10,0);\n  RVar2 = RStack_14c;\n  (**(code **)(pcVar14 + 0x243a10))(uVar3);\n  (**(code **)(pcVar14 + 0x243a10))(uVar9);\n  DestroyContributionThreadSet(contribution);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c)) {\n    return RVar2;\n  }\n  pcVar15 = *(code **)(pcVar14 + 0x243b80);\n  puVar6 = puStack_13c;\n  (*pcVar15)();\n  if (puVar6 != (undefined4 *)0x0) {\n    if (puVar6[0x1a] == -0x54535255) {\n      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);\n      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }\n      RVar2 = (*(code *)*puVar6)(dVar19);\n      return RVar2;\n    }\n    RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390);\n    return RVar2;\n  }\n  RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                    (*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c);\n  return RVar2;\n}" type_identifier (function_declarator "GetResizeFilterWindowWeightingType(ResizeFilter *resize_filter)" identifier (parameter_list "(ResizeFilter *resize_filter)" ( (parameter_declaration "ResizeFilter *resize_filter" type_identifier (pointer_declarator "*resize_filter" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  ResizeWeightingFunctionType RVar2;\n  ContributionInfo **contribution;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  ResizeFilter *resize_filter_00;\n  ResizeFilter *resize_filter_01;\n  size_t sVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  double *pdVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  ContributionInfo **unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar13;\n  code *pcVar14;\n  undefined4 unaff_s8;\n  code *pcVar15;\n  code *pcVar16;\n  double dVar17;\n  double dVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  undefined8 uVar23;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  ResizeFilter *pRStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  ContributionInfo **ppCStack_150;\n  ResizeWeightingFunctionType RStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  ResizeWeightingFunctionType RStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  ResizeFilter *pRStack_128;\n  ContributionInfo **ppCStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  ResizeFilter *pRStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  ContributionInfo **ppCStack_98;\n  ResizeWeightingFunctionType RStack_94;\n  ResizeFilter *pRStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (resize_filter == (ResizeFilter *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (resize_filter->signature == 0xabacadab) {\n    return resize_filter->windowWeightingType;\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar15 = GetResizeFilterSupport;\n  puVar13 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar13 + 0x244700))\n              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return 0xabacadab;\n  }\n  iVar12 = *(int *)(puVar13 + 0x2439d8) + -0x2378;\n  iVar10 = 0x64f;\n  piVar7 = (int *)(*(int *)(puVar13 + 0x2439d8) + -0x2d88);\n  resize_filter_00 = (ResizeFilter *)(*(int *)(puVar13 + 0x2439d8) + -0x2d10);\n  pcVar14 = *(code **)(puVar13 + 0x244700);\n  (*pcVar14)();\n  pcStack_d8 = pcVar14 + 0x24b8fc;\n  dVar19 = (double)CONCAT44(puVar13 + 0x24b990,uStack_2c);\n  pRStack_84 = (ResizeFilter *)**(undefined4 **)(pcVar14 + 0x244294);\n  dVar17 = *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408);\n  dVar21 = dVar17 / dVar19 + *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8);\n  if (dVar21 <= dVar17) {\n    dVar21 = dVar17;\n  }\n  dVar17 = GetResizeFilterSupport(resize_filter_00);\n  dVar17 = dVar21 * dVar17;\n  pdVar8 = (double *)0x1;\n  if (dVar17 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar8 = (double *)*piVar7;\n  }\n  iVar11 = iStack_1c;\n  RVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar10);\n  if (RVar2 != BoxWeightingFunction) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17) {\n      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = AcquireContributionThreadSet(sVar5);\n      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;\n      if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;\n      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c);\n    iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7);\n    if ((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)) {\n      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);\n      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar11 = *(int *)(iVar10 + 0x1c);\n      iVar12 = iVar11;\n      if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }\n      if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }\n      iVar11 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }\nLAB_001b63fc:\n    RStack_94 = TriangleWeightingFunction;\n    iVar12 = 0;\n    pdVar8 = &dStack_d0;\n    dStack_d0 = dVar19;\n    pcStack_c4 = pcVar15;\n    dStack_c0 = dVar21;\n    dStack_b8 = dVar17;\n    pRStack_b0 = resize_filter_00;\n    piStack_ac = piVar7;\n    iStack_a8 = iVar10;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    ppCStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0);\n    RVar2 = RStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    DestroyContributionThreadSet(unaff_s5);\n  }\nLAB_001b64a0:\n  if (pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)) {\n    return RVar2;\n  }\n  pcVar14 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar16 = HorizontalFilter;\n  resize_filter_01 = pRStack_84;\n  (*pcVar14)();\n  pcVar15 = pcStack_d8;\n  dVar20 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar14 + 0x243d4c);\n  dVar18 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n  dVar22 = dVar18 / dVar20 + *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  if (dVar22 <= dVar18) {\n    dVar22 = dVar18;\n  }\n  RStack_138 = RVar2;\n  iStack_134 = iVar10;\n  piStack_12c = piVar7;\n  pRStack_128 = resize_filter_00;\n  ppCStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar16;\n  dStack_110 = dVar21;\n  dStack_108 = dVar19;\n  dStack_100 = dVar17;\n  dVar19 = GetResizeFilterSupport(resize_filter_01);\n  dVar19 = dVar22 * dVar19;\n  uVar9 = 1;\n  if (dVar19 <= *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)) {\n    uVar9 = *(undefined4 *)pdVar8;\n  }\n  iVar10 = iStack_d4;\n  RVar2 = (**(code **)(pcVar14 + 0x244340))(iVar11,uVar9,iStack_d4);\n  if (RVar2 == BoxWeightingFunction) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0) <= dVar19) {\n    dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0);\n    if (dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) {\n      sVar5 = (size_t)dVar21;\n    }\n    else {\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    contribution = AcquireContributionThreadSet(sVar5);\n    if (contribution == (ContributionInfo **)0x0) goto LAB_001b6690;\n    if (dVar22 < 0.0) {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21) goto LAB_001b6888;\n    dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    contribution = AcquireContributionThreadSet(4);\n    if (contribution == (ContributionInfo **)0x0) {\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }\n    dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;\n  }\n  uVar9 = (**(code **)(pcVar14 + 0x244270))(pdVar8,iStack_d4);\n  uVar3 = (**(code **)(pcVar14 + 0x2439f0))(iVar11,iStack_d4);\n  iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8);\n  if ((iVar10 == 4) || (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3)) {\n    iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11);\n    if ((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar14 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar11 + 0x18);\n    iVar10 = iVar12;\n    if (iVar12 < 0) {\n      iVar10 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar10 >> 6) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar10 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = *(int *)(iVar11 + 0x18);\n      if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }\n      iVar10 = iVar10 >> 6;\n      if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }\n    uVar23 = (*pcVar16)(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }\n    else {\n      iVar10 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar15;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  RStack_14c = TriangleWeightingFunction;\n  iVar12 = 0;\n  dStack_188 = dVar20;\n  dStack_178 = dVar22;\n  dStack_170 = dVar19;\n  pRStack_168 = resize_filter_01;\n  pdStack_164 = pdVar8;\n  iStack_160 = iVar11;\n  uStack_158 = uVar9;\n  uStack_154 = uVar3;\n  ppCStack_150 = contribution;\n  (**(code **)(pcVar14 + 0x243cb4))(*(int *)(pcVar14 + 0x243678) + -0x7bac,&dStack_188,iVar10,0);\n  RVar2 = RStack_14c;\n  (**(code **)(pcVar14 + 0x243a10))(uVar3);\n  (**(code **)(pcVar14 + 0x243a10))(uVar9);\n  DestroyContributionThreadSet(contribution);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c)) {\n    return RVar2;\n  }\n  pcVar15 = *(code **)(pcVar14 + 0x243b80);\n  puVar6 = puStack_13c;\n  (*pcVar15)();\n  if (puVar6 != (undefined4 *)0x0) {\n    if (puVar6[0x1a] == -0x54535255) {\n      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);\n      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }\n      RVar2 = (*(code *)*puVar6)(dVar19);\n      return RVar2;\n    }\n    RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390);\n    return RVar2;\n  }\n  RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                    (*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c);\n  return RVar2;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "ResizeWeightingFunctionType RVar2;" type_identifier identifier ;) (declaration "ContributionInfo **contribution;" type_identifier (pointer_declarator "**contribution" * (pointer_declarator "*contribution" * identifier)) ;) (declaration "undefined4 uVar3;" type_identifier 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 "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 "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "ResizeFilter *resize_filter_00;" type_identifier (pointer_declarator "*resize_filter_00" * identifier) ;) (declaration "ResizeFilter *resize_filter_01;" type_identifier (pointer_declarator "*resize_filter_01" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "ContributionInfo **unaff_s5;" type_identifier (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier)) ;) (declaration "undefined4 unaff_s7;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 unaff_s8;" type_identifier identifier ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "double dVar17;" primitive_type identifier ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "double dVar21;" primitive_type identifier ;) (declaration "double dVar22;" primitive_type identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "double dStack_188;" primitive_type identifier ;) (declaration "int iStack_180;" primitive_type identifier ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "double dStack_178;" primitive_type identifier ;) (declaration "double dStack_170;" primitive_type identifier ;) (declaration "ResizeFilter *pRStack_168;" type_identifier (pointer_declarator "*pRStack_168" * identifier) ;) (declaration "double *pdStack_164;" primitive_type (pointer_declarator "*pdStack_164" * identifier) ;) (declaration "int iStack_160;" primitive_type identifier ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "undefined4 uStack_158;" type_identifier identifier ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "ContributionInfo **ppCStack_150;" type_identifier (pointer_declarator "**ppCStack_150" * (pointer_declarator "*ppCStack_150" * identifier)) ;) (declaration "ResizeWeightingFunctionType RStack_14c;" type_identifier identifier ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "undefined4 *puStack_13c;" type_identifier (pointer_declarator "*puStack_13c" * identifier) ;) (declaration "ResizeWeightingFunctionType RStack_138;" type_identifier identifier ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "int *piStack_12c;" primitive_type (pointer_declarator "*piStack_12c" * identifier) ;) (declaration "ResizeFilter *pRStack_128;" type_identifier (pointer_declarator "*pRStack_128" * identifier) ;) (declaration "ContributionInfo **ppCStack_124;" type_identifier (pointer_declarator "**ppCStack_124" * (pointer_declarator "*ppCStack_124" * identifier)) ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "code *pcStack_114;" type_identifier (pointer_declarator "*pcStack_114" * identifier) ;) (declaration "double dStack_110;" primitive_type identifier ;) (declaration "double dStack_108;" primitive_type identifier ;) (declaration "double dStack_100;" primitive_type identifier ;) (declaration "undefined4 uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "int iStack_e0;" primitive_type identifier ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "code *pcStack_d8;" type_identifier (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "double dStack_c0;" primitive_type identifier ;) (declaration "double dStack_b8;" primitive_type identifier ;) (declaration "ResizeFilter *pRStack_b0;" type_identifier (pointer_declarator "*pRStack_b0" * identifier) ;) (declaration "int *piStack_ac;" primitive_type (pointer_declarator "*piStack_ac" * identifier) ;) (declaration "int iStack_a8;" primitive_type identifier ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "ContributionInfo **ppCStack_98;" type_identifier (pointer_declarator "**ppCStack_98" * (pointer_declarator "*ppCStack_98" * identifier)) ;) (declaration "ResizeWeightingFunctionType RStack_94;" type_identifier identifier ;) (declaration "ResizeFilter *pRStack_84;" type_identifier (pointer_declarator "*pRStack_84" * identifier) ;) (declaration "undefined4 uStack_2c;" type_identifier identifier ;) (declaration "int iStack_1c;" primitive_type identifier ;) (if_statement "if (resize_filter == (ResizeFilter *)0x0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (resize_filter->signature == 0xabacadab) {\n    return resize_filter->windowWeightingType;\n  }" if (parenthesized_expression "(resize_filter == (ResizeFilter *)0x0)" ( (binary_expression "resize_filter == (ResizeFilter *)0x0" identifier == (cast_expression "(ResizeFilter *)0x0" ( (type_descriptor "ResizeFilter *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" ( (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38" identifier + number_literal) , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" identifier + number_literal) , number_literal , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" identifier + number_literal) ))) ;) }) (else_clause "else if (resize_filter->signature == 0xabacadab) {\n    return resize_filter->windowWeightingType;\n  }" else (if_statement "if (resize_filter->signature == 0xabacadab) {\n    return resize_filter->windowWeightingType;\n  }" if (parenthesized_expression "(resize_filter->signature == 0xabacadab)" ( (binary_expression "resize_filter->signature == 0xabacadab" (field_expression "resize_filter->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    return resize_filter->windowWeightingType;\n  }" { (return_statement "return resize_filter->windowWeightingType;" return (field_expression "resize_filter->windowWeightingType" identifier -> field_identifier) ;) })))) (expression_statement "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;" (assignment_expression "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" identifier = (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" identifier + number_literal)) ;) (expression_statement "pcVar15 = GetResizeFilterSupport;" (assignment_expression "pcVar15 = GetResizeFilterSupport" identifier = identifier) ;) (expression_statement "puVar13 = PTR___assert_fail_003fa620;" (assignment_expression "puVar13 = PTR___assert_fail_003fa620" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" ( identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" identifier + number_literal) , number_literal , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" identifier + number_literal) ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar13 + 0x244700))\n              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return 0xabacadab;\n  }" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar13 + 0x244700))\n              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378);\n  }" { (expression_statement "(**(code **)(puVar13 + 0x244700))\n              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378);" (call_expression "(**(code **)(puVar13 + 0x244700))\n              (*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378)" (parenthesized_expression "(**(code **)(puVar13 + 0x244700))" ( (pointer_expression "**(code **)(puVar13 + 0x244700)" * (pointer_expression "*(code **)(puVar13 + 0x244700)" * (cast_expression "(code **)(puVar13 + 0x244700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x244700)" ( (binary_expression "puVar13 + 0x244700" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x2439d8) + -0x2d38,*(int *)(puVar13 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar13 + 0x2439d8) + -0x2378)" ( (binary_expression "*(int *)(puVar13 + 0x2439d8) + -0x2d38" (pointer_expression "*(int *)(puVar13 + 0x2439d8)" * (cast_expression "(int *)(puVar13 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2439d8)" ( (binary_expression "puVar13 + 0x2439d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar13 + 0x2439d8)" * (cast_expression "(int *)(puVar13 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2439d8)" ( (binary_expression "puVar13 + 0x2439d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar13 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar13 + 0x2439d8)" * (cast_expression "(int *)(puVar13 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2439d8)" ( (binary_expression "puVar13 + 0x2439d8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return 0xabacadab;\n  }" else (if_statement "if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return 0xabacadab;\n  }" if (parenthesized_expression "(*(int *)(puVar4 + 0x68) == -0x54535255)" ( (binary_expression "*(int *)(puVar4 + 0x68) == -0x54535255" (pointer_expression "*(int *)(puVar4 + 0x68)" * (cast_expression "(int *)(puVar4 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x68)" ( (binary_expression "puVar4 + 0x68" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return 0xabacadab;\n  }" { (return_statement "return 0xabacadab;" return number_literal ;) })))) (expression_statement "iVar12 = *(int *)(puVar13 + 0x2439d8) + -0x2378;" (assignment_expression "iVar12 = *(int *)(puVar13 + 0x2439d8) + -0x2378" identifier = (binary_expression "*(int *)(puVar13 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar13 + 0x2439d8)" * (cast_expression "(int *)(puVar13 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2439d8)" ( (binary_expression "puVar13 + 0x2439d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar10 = 0x64f;" (assignment_expression "iVar10 = 0x64f" identifier = number_literal) ;) (expression_statement "piVar7 = (int *)(*(int *)(puVar13 + 0x2439d8) + -0x2d88);" (assignment_expression "piVar7 = (int *)(*(int *)(puVar13 + 0x2439d8) + -0x2d88)" identifier = (cast_expression "(int *)(*(int *)(puVar13 + 0x2439d8) + -0x2d88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar13 + 0x2439d8) + -0x2d88)" ( (binary_expression "*(int *)(puVar13 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar13 + 0x2439d8)" * (cast_expression "(int *)(puVar13 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2439d8)" ( (binary_expression "puVar13 + 0x2439d8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "resize_filter_00 = (ResizeFilter *)(*(int *)(puVar13 + 0x2439d8) + -0x2d10);" (assignment_expression "resize_filter_00 = (ResizeFilter *)(*(int *)(puVar13 + 0x2439d8) + -0x2d10)" identifier = (cast_expression "(ResizeFilter *)(*(int *)(puVar13 + 0x2439d8) + -0x2d10)" ( (type_descriptor "ResizeFilter *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar13 + 0x2439d8) + -0x2d10)" ( (binary_expression "*(int *)(puVar13 + 0x2439d8) + -0x2d10" (pointer_expression "*(int *)(puVar13 + 0x2439d8)" * (cast_expression "(int *)(puVar13 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2439d8)" ( (binary_expression "puVar13 + 0x2439d8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar14 = *(code **)(puVar13 + 0x244700);" (assignment_expression "pcVar14 = *(code **)(puVar13 + 0x244700)" identifier = (pointer_expression "*(code **)(puVar13 + 0x244700)" * (cast_expression "(code **)(puVar13 + 0x244700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x244700)" ( (binary_expression "puVar13 + 0x244700" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar14)();" (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_d8 = pcVar14 + 0x24b8fc;" (assignment_expression "pcStack_d8 = pcVar14 + 0x24b8fc" identifier = (binary_expression "pcVar14 + 0x24b8fc" identifier + number_literal)) ;) (expression_statement "dVar19 = (double)CONCAT44(puVar13 + 0x24b990,uStack_2c);" (assignment_expression "dVar19 = (double)CONCAT44(puVar13 + 0x24b990,uStack_2c)" identifier = (cast_expression "(double)CONCAT44(puVar13 + 0x24b990,uStack_2c)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(puVar13 + 0x24b990,uStack_2c)" identifier (argument_list "(puVar13 + 0x24b990,uStack_2c)" ( (binary_expression "puVar13 + 0x24b990" identifier + number_literal) , identifier ))))) ;) (expression_statement "pRStack_84 = (ResizeFilter *)**(undefined4 **)(pcVar14 + 0x244294);" (assignment_expression "pRStack_84 = (ResizeFilter *)**(undefined4 **)(pcVar14 + 0x244294)" identifier = (cast_expression "(ResizeFilter *)**(undefined4 **)(pcVar14 + 0x244294)" ( (type_descriptor "ResizeFilter *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar14 + 0x244294)" * (pointer_expression "*(undefined4 **)(pcVar14 + 0x244294)" * (cast_expression "(undefined4 **)(pcVar14 + 0x244294)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x244294)" ( (binary_expression "pcVar14 + 0x244294" identifier + number_literal) ))))))) ;) (expression_statement "dVar17 = *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408);" (assignment_expression "dVar17 = *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x24392c) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x24392c) + 0x4408)" ( (binary_expression "*(int *)(pcVar14 + 0x24392c) + 0x4408" (pointer_expression "*(int *)(pcVar14 + 0x24392c)" * (cast_expression "(int *)(pcVar14 + 0x24392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x24392c)" ( (binary_expression "pcVar14 + 0x24392c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar21 = dVar17 / dVar19 + *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8);" (assignment_expression "dVar21 = dVar17 / dVar19 + *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8)" identifier = (binary_expression "dVar17 / dVar19 + *(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8)" (binary_expression "dVar17 / dVar19" identifier / identifier) + (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x24392c) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x24392c) + 0x43c8)" ( (binary_expression "*(int *)(pcVar14 + 0x24392c) + 0x43c8" (pointer_expression "*(int *)(pcVar14 + 0x24392c)" * (cast_expression "(int *)(pcVar14 + 0x24392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x24392c)" ( (binary_expression "pcVar14 + 0x24392c" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar21 <= dVar17) {\n    dVar21 = dVar17;\n  }" if (parenthesized_expression "(dVar21 <= dVar17)" ( (binary_expression "dVar21 <= dVar17" identifier <= identifier) )) (compound_statement "{\n    dVar21 = dVar17;\n  }" { (expression_statement "dVar21 = dVar17;" (assignment_expression "dVar21 = dVar17" identifier = identifier) ;) })) (expression_statement "dVar17 = GetResizeFilterSupport(resize_filter_00);" (assignment_expression "dVar17 = GetResizeFilterSupport(resize_filter_00)" identifier = (call_expression "GetResizeFilterSupport(resize_filter_00)" identifier (argument_list "(resize_filter_00)" ( identifier )))) ;) (expression_statement "dVar17 = dVar21 * dVar17;" (assignment_expression "dVar17 = dVar21 * dVar17" identifier = (binary_expression "dVar21 * dVar17" identifier * identifier)) ;) (expression_statement "pdVar8 = (double *)0x1;" (assignment_expression "pdVar8 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar17 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar8 = (double *)*piVar7;\n  }" if (parenthesized_expression "(dVar17 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0))" ( (binary_expression "dVar17 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" identifier <= (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    pdVar8 = (double *)*piVar7;\n  }" { (expression_statement "pdVar8 = (double *)*piVar7;" (assignment_expression "pdVar8 = (double *)*piVar7" identifier = (cast_expression "(double *)*piVar7" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar7" * identifier))) ;) })) (expression_statement "iVar11 = iStack_1c;" (assignment_expression "iVar11 = iStack_1c" identifier = identifier) ;) (expression_statement "RVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar10);" (assignment_expression "RVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar10)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x7074))(iVar10)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7074))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7074)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7074)" * (cast_expression "(code **)(pcStack_d8 + -0x7074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7074)" ( (binary_expression "pcStack_d8 + -0x7074" identifier + number_literal) ))))) )) (argument_list "(iVar10)" ( identifier )))) ;) (if_statement "if (RVar2 != BoxWeightingFunction) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17) {\n      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = AcquireContributionThreadSet(sVar5);\n      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;\n      if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;\n      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c);\n    iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7);\n    if ((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)) {\n      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);\n      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar11 = *(int *)(iVar10 + 0x1c);\n      iVar12 = iVar11;\n      if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }\n      if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }\n      iVar11 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }\nLAB_001b63fc:\n    RStack_94 = TriangleWeightingFunction;\n    iVar12 = 0;\n    pdVar8 = &dStack_d0;\n    dStack_d0 = dVar19;\n    pcStack_c4 = pcVar15;\n    dStack_c0 = dVar21;\n    dStack_b8 = dVar17;\n    pRStack_b0 = resize_filter_00;\n    piStack_ac = piVar7;\n    iStack_a8 = iVar10;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    ppCStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0);\n    RVar2 = RStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    DestroyContributionThreadSet(unaff_s5);\n  }" if (parenthesized_expression "(RVar2 != BoxWeightingFunction)" ( (binary_expression "RVar2 != BoxWeightingFunction" identifier != identifier) )) (compound_statement "{\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17) {\n      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = AcquireContributionThreadSet(sVar5);\n      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;\n      if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;\n      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c);\n    iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7);\n    if ((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)) {\n      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);\n      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar11 = *(int *)(iVar10 + 0x1c);\n      iVar12 = iVar11;\n      if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }\n      if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }\n      iVar11 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }\nLAB_001b63fc:\n    RStack_94 = TriangleWeightingFunction;\n    iVar12 = 0;\n    pdVar8 = &dStack_d0;\n    dStack_d0 = dVar19;\n    pcStack_c4 = pcVar15;\n    dStack_c0 = dVar21;\n    dStack_b8 = dVar17;\n    pRStack_b0 = resize_filter_00;\n    piStack_ac = piVar7;\n    iStack_a8 = iVar10;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    ppCStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0);\n    RVar2 = RStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    DestroyContributionThreadSet(unaff_s5);\n  }" { (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17) {\n      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = AcquireContributionThreadSet(sVar5);\n      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;\n      if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;\n      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }" if (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17)" ( (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar17" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n      dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = AcquireContributionThreadSet(sVar5);\n      if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;\n      if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;\n      dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }" { (expression_statement "dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);" (assignment_expression "dVar20 = dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" identifier = (binary_expression "dVar17 + dVar17 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (binary_expression "dVar17 + dVar17" identifier + identifier) + (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fcc)" * (cast_expression "(int *)(pcStack_d8 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fcc)" ( (binary_expression "pcStack_d8 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        sVar5 = (size_t)dVar20;\n      }\n      else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" if (parenthesized_expression "(dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (binary_expression "dVar20 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" identifier < (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n        sVar5 = (size_t)dVar20;\n      }" { (expression_statement "sVar5 = (size_t)dVar20;" (assignment_expression "sVar5 = (size_t)dVar20" identifier = (cast_expression "(size_t)dVar20" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) }) (else_clause "else {\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" else (compound_statement "{\n        sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" { (expression_statement "sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;" (assignment_expression "sVar5 = (int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" identifier = (binary_expression "(int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (binary_expression "dVar20 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" identifier - (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ))) | number_literal)) ;) }))) (expression_statement "unaff_s5 = AcquireContributionThreadSet(sVar5);" (assignment_expression "unaff_s5 = AcquireContributionThreadSet(sVar5)" identifier = (call_expression "AcquireContributionThreadSet(sVar5)" identifier (argument_list "(sVar5)" ( identifier )))) ;) (if_statement "if (unaff_s5 == (ContributionInfo **)0x0) goto LAB_001b6148;" if (parenthesized_expression "(unaff_s5 == (ContributionInfo **)0x0)" ( (binary_expression "unaff_s5 == (ContributionInfo **)0x0" identifier == (cast_expression "(ContributionInfo **)0x0" ( (type_descriptor "ContributionInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001b6148;" goto statement_identifier ;)) (if_statement "if (dVar21 < 0.0) {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" if (parenthesized_expression "(dVar21 < 0.0)" ( (binary_expression "dVar21 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }" { (expression_statement "dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);" (assignment_expression "dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4418" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" else (compound_statement "{\n        dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" { (expression_statement "dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar20 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)\n      goto LAB_001b6340;" if (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20)" ( (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar21 * dVar20" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) <= (binary_expression "dVar21 * dVar20" identifier * identifier)) )) (goto_statement "goto LAB_001b6340;" goto statement_identifier ;)) (expression_statement "dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);" (assignment_expression "dVar21 = dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" identifier = (binary_expression "dVar20 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" identifier / (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }" else (compound_statement "{\n      unaff_s5 = AcquireContributionThreadSet(4);\n      if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }\n      dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;\n    }" { (expression_statement "unaff_s5 = AcquireContributionThreadSet(4);" (assignment_expression "unaff_s5 = AcquireContributionThreadSet(4)" identifier = (call_expression "AcquireContributionThreadSet(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (if_statement "if (unaff_s5 == (ContributionInfo **)0x0) {\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }" if (parenthesized_expression "(unaff_s5 == (ContributionInfo **)0x0)" ( (binary_expression "unaff_s5 == (ContributionInfo **)0x0" identifier == (cast_expression "(ContributionInfo **)0x0" ( (type_descriptor "ContributionInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_001b6148:\n        piVar7 = piVar7 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar12 = 0xdce;\n        iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar7;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);\n        RVar2 = BoxWeightingFunction;\n        goto LAB_001b64a0;\n      }" { (labeled_statement "LAB_001b6148:\n        piVar7 = piVar7 + 0xd0;" statement_identifier : (expression_statement "piVar7 = piVar7 + 0xd0;" (assignment_expression "piVar7 = piVar7 + 0xd0" identifier = (binary_expression "piVar7 + 0xd0" identifier + number_literal)) ;)) (expression_statement "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;" (assignment_expression "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;" (assignment_expression "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uStack_e8 = 400;" (assignment_expression "uStack_e8 = 400" identifier = number_literal) ;) (expression_statement "iVar12 = 0xdce;" (assignment_expression "iVar12 = 0xdce" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;" (assignment_expression "iVar11 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2870" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" * (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fb8)" ( (binary_expression "pcStack_d8 + -0x7fb8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);" (assignment_expression "pdVar8 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" identifier = (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" * (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fb8)" ( (binary_expression "pcStack_d8 + -0x7fb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piStack_dc = piVar7;" (assignment_expression "piStack_dc = piVar7" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce);" (call_expression "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar8,iVar11,0xdce)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7978))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7978)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7978)" * (cast_expression "(code **)(pcStack_d8 + -0x7978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7978)" ( (binary_expression "pcStack_d8 + -0x7978" identifier + number_literal) ))))) )) (argument_list "(iStack_1c,pdVar8,iVar11,0xdce)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "RVar2 = BoxWeightingFunction;" (assignment_expression "RVar2 = BoxWeightingFunction" identifier = identifier) ;) (goto_statement "goto LAB_001b64a0;" goto statement_identifier ;) })) (expression_statement "dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);" (assignment_expression "dVar17 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001b6340:\n      dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;" statement_identifier : (expression_statement "dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21;" (assignment_expression "dVar21 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21" identifier = (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar21" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;)) }))) (expression_statement "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c);" (assignment_expression "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x7144))(piVar7,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7144))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7144)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7144)" * (cast_expression "(code **)(pcStack_d8 + -0x7144)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7144)" ( (binary_expression "pcStack_d8 + -0x7144" identifier + number_literal) ))))) )) (argument_list "(piVar7,iStack_1c)" ( identifier , identifier )))) ;) (expression_statement "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c);" (assignment_expression "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x79c4))(iVar10,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79c4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79c4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79c4)" * (cast_expression "(code **)(pcStack_d8 + -0x79c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79c4)" ( (binary_expression "pcStack_d8 + -0x79c4" identifier + number_literal) ))))) )) (argument_list "(iVar10,iStack_1c)" ( identifier , identifier )))) ;) (expression_statement "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7);" (assignment_expression "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(piVar7)" ( identifier )))) ;) (if_statement "if ((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)) {\n      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);\n      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar11 = *(int *)(iVar10 + 0x1c);\n      iVar12 = iVar11;\n      if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }\n      if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }\n      iVar11 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }" if (parenthesized_expression "((iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3))" ( (binary_expression "(iVar12 == 4) || (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)" (parenthesized_expression "(iVar12 == 4)" ( (binary_expression "iVar12 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3)" ( (comma_expression "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7), iVar12 == 3" (assignment_expression "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(piVar7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(piVar7)" ( identifier )))) , (binary_expression "iVar12 == 3" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);\n      if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar11 = *(int *)(iVar10 + 0x1c);\n      iVar12 = iVar11;\n      if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }\n      if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }\n      iVar11 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }\n    }" { (expression_statement "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10);" (assignment_expression "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar10)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(iVar10)" ( identifier )))) ;) (if_statement "if ((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))\n      goto LAB_001b63c0;" if (parenthesized_expression "((iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3))" ( (binary_expression "(iVar12 != 4) && (iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3)" (parenthesized_expression "(iVar12 != 4)" ( (binary_expression "iVar12 != 4" identifier != number_literal) )) && (parenthesized_expression "(iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3)" ( (comma_expression "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10), iVar12 != 3" (assignment_expression "iVar12 = (**(code **)(pcStack_d8 + -0x73e4))(iVar10)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar10)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(iVar10)" ( identifier )))) , (binary_expression "iVar12 != 3" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001b63c0;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = *(int *)(iVar10 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = iVar11;" (assignment_expression "iVar12 = iVar11" identifier = identifier) ;) (if_statement "if (iVar11 < 0) {\n        iVar12 = iVar11 + 0x3f;\n      }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar12 = iVar11 + 0x3f;\n      }" { (expression_statement "iVar12 = iVar11 + 0x3f;" (assignment_expression "iVar12 = iVar11 + 0x3f" identifier = (binary_expression "iVar11 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < iVar12 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar11 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1 < iVar12 >> 6)" ( (binary_expression "extraout_v1 < iVar12 >> 6" identifier < (binary_expression "iVar12 >> 6" identifier >> number_literal)) )) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" identifier = (binary_expression "extraout_v1_01 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar11 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar11 < 0x80;\n      }" { (expression_statement "bVar1 = iVar11 < 0x80;" (assignment_expression "bVar1 = iVar11 < 0x80" identifier = (binary_expression "iVar11 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\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_d8 + -0x775c))(7);\n        iVar11 = *(int *)(iVar10 + 0x1c);\n        if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }\n        iVar11 = iVar11 >> 6;\n        if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = *(int *)(iVar10 + 0x1c);" (assignment_expression "iVar11 = *(int *)(iVar10 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar10 + 0x1c)" * (cast_expression "(int *)(iVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar11 < 0) {\n          iVar11 = iVar11 + 0x3f;\n        }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar11 = iVar11 + 0x3f;\n        }" { (expression_statement "iVar11 = iVar11 + 0x3f;" (assignment_expression "iVar11 = iVar11 + 0x3f" identifier = (binary_expression "iVar11 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar11 = iVar11 >> 6;" (assignment_expression "iVar11 = iVar11 >> 6" identifier = (binary_expression "iVar11 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_02 < iVar11) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }" if (parenthesized_expression "(extraout_v1_02 < iVar11)" ( (binary_expression "extraout_v1_02 < iVar11" identifier < identifier) )) (compound_statement "{\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar11 = extraout_v1_03;\n        }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = extraout_v1_03;" (assignment_expression "iVar11 = extraout_v1_03" identifier = identifier) ;) })) })) }) (else_clause "else {\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }" else (compound_statement "{\nLAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar23 = (*pcVar14)(7);\n      if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }\n    }" { (labeled_statement "LAB_001b63c0:\n      uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);" statement_identifier : (expression_statement "uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2))" ( (binary_expression "((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)" (parenthesized_expression "((int)((ulonglong)uVar23 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar23 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar23 < 2)" ( (binary_expression "(uint)uVar23 < 2" (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }\n      }" { (expression_statement "uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar23 = (**(code **)(pcStack_d8 + -0x775c))(7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b63dc;" if (parenthesized_expression "((int)((ulonglong)uVar23 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar23 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001b63dc;" goto statement_identifier ;)) (expression_statement "pcVar14 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar14 = *(code **)(pcStack_d8 + -0x775c)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar23 < 2) {\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }" if (parenthesized_expression "((uint)uVar23 < 2)" ( (binary_expression "(uint)uVar23 < 2" (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          iVar11 = 1;\n          goto LAB_001b63fc;\n        }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001b63fc;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }" else (compound_statement "{\nLAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);\n      }" { (labeled_statement "LAB_001b63dc:\n        pcVar14 = *(code **)(pcStack_d8 + -0x775c);" statement_identifier : (expression_statement "pcVar14 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar14 = *(code **)(pcStack_d8 + -0x775c)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar23 = (*pcVar14)(7);" (assignment_expression "uVar23 = (*pcVar14)(7)" identifier = (call_expression "(*pcVar14)(7)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }\n      else {\n        iVar11 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2))" ( (binary_expression "((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)" (parenthesized_expression "((int)((ulonglong)uVar23 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar23 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar23 < 2)" ( (binary_expression "(uint)uVar23 < 2" (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar11 = extraout_v1_00;\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar11 = extraout_v1_00;" (assignment_expression "iVar11 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n        iVar11 = 2;\n      }" else (compound_statement "{\n        iVar11 = 2;\n      }" { (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001b63fc:\n    RStack_94 = TriangleWeightingFunction;" statement_identifier : (expression_statement "RStack_94 = TriangleWeightingFunction;" (assignment_expression "RStack_94 = TriangleWeightingFunction" identifier = identifier) ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "pdVar8 = &dStack_d0;" (assignment_expression "pdVar8 = &dStack_d0" identifier = (pointer_expression "&dStack_d0" & identifier)) ;) (expression_statement "dStack_d0 = dVar19;" (assignment_expression "dStack_d0 = dVar19" identifier = identifier) ;) (expression_statement "pcStack_c4 = pcVar15;" (assignment_expression "pcStack_c4 = pcVar15" identifier = identifier) ;) (expression_statement "dStack_c0 = dVar21;" (assignment_expression "dStack_c0 = dVar21" identifier = identifier) ;) (expression_statement "dStack_b8 = dVar17;" (assignment_expression "dStack_b8 = dVar17" identifier = identifier) ;) (expression_statement "pRStack_b0 = resize_filter_00;" (assignment_expression "pRStack_b0 = resize_filter_00" identifier = identifier) ;) (expression_statement "piStack_ac = piVar7;" (assignment_expression "piStack_ac = piVar7" identifier = identifier) ;) (expression_statement "iStack_a8 = iVar10;" (assignment_expression "iStack_a8 = iVar10" identifier = identifier) ;) (expression_statement "uStack_a0 = unaff_s7;" (assignment_expression "uStack_a0 = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_9c = unaff_s8;" (assignment_expression "uStack_9c = unaff_s8" identifier = identifier) ;) (expression_statement "ppCStack_98 = unaff_s5;" (assignment_expression "ppCStack_98 = unaff_s5" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0);" (call_expression "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7700))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7700)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7700)" * (cast_expression "(code **)(pcStack_d8 + -0x7700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7700)" ( (binary_expression "pcStack_d8 + -0x7700" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar8,iVar11,0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c" (pointer_expression "*(int *)(pcStack_d8 + -0x7d54)" * (cast_expression "(int *)(pcStack_d8 + -0x7d54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7d54)" ( (binary_expression "pcStack_d8 + -0x7d54" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "RVar2 = RStack_94;" (assignment_expression "RVar2 = RStack_94" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" * (cast_expression "(code **)(pcStack_d8 + -0x79a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79a4)" ( (binary_expression "pcStack_d8 + -0x79a4" identifier + number_literal) ))))) )) (argument_list "(unaff_s8)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" * (cast_expression "(code **)(pcStack_d8 + -0x79a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79a4)" ( (binary_expression "pcStack_d8 + -0x79a4" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) (expression_statement "DestroyContributionThreadSet(unaff_s5);" (call_expression "DestroyContributionThreadSet(unaff_s5)" identifier (argument_list "(unaff_s5)" ( identifier ))) ;) })) (labeled_statement "LAB_001b64a0:\n  if (pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)) {\n    return RVar2;\n  }" statement_identifier : (if_statement "if (pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)) {\n    return RVar2;\n  }" if (parenthesized_expression "(pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668))" ( (binary_expression "pRStack_84 == (ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)" identifier == (cast_expression "(ResizeFilter *)**(int **)(pcStack_d8 + -0x7668)" ( (type_descriptor "ResizeFilter *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_d8 + -0x7668)" * (pointer_expression "*(int **)(pcStack_d8 + -0x7668)" * (cast_expression "(int **)(pcStack_d8 + -0x7668)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7668)" ( (binary_expression "pcStack_d8 + -0x7668" identifier + number_literal) ))))))) )) (compound_statement "{\n    return RVar2;\n  }" { (return_statement "return RVar2;" return identifier ;) }))) (expression_statement "pcVar14 = *(code **)(pcStack_d8 + -0x7834);" (assignment_expression "pcVar14 = *(code **)(pcStack_d8 + -0x7834)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x7834)" * (cast_expression "(code **)(pcStack_d8 + -0x7834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7834)" ( (binary_expression "pcStack_d8 + -0x7834" identifier + number_literal) ))))) ;) (expression_statement "pcVar16 = HorizontalFilter;" (assignment_expression "pcVar16 = HorizontalFilter" identifier = identifier) ;) (expression_statement "resize_filter_01 = pRStack_84;" (assignment_expression "resize_filter_01 = pRStack_84" identifier = identifier) ;) (expression_statement "(*pcVar14)();" (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar15 = pcStack_d8;" (assignment_expression "pcVar15 = pcStack_d8" identifier = identifier) ;) (expression_statement "dVar20 = (double)CONCAT44(uStack_e8,iStack_e4);" (assignment_expression "dVar20 = (double)CONCAT44(uStack_e8,iStack_e4)" identifier = (cast_expression "(double)CONCAT44(uStack_e8,iStack_e4)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uStack_e8,iStack_e4)" identifier (argument_list "(uStack_e8,iStack_e4)" ( identifier , identifier ))))) ;) (expression_statement "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar14 + 0x243d4c);" (assignment_expression "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar14 + 0x243d4c)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(pcVar14 + 0x243d4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar14 + 0x243d4c)" * (pointer_expression "*(undefined4 **)(pcVar14 + 0x243d4c)" * (cast_expression "(undefined4 **)(pcVar14 + 0x243d4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243d4c)" ( (binary_expression "pcVar14 + 0x243d4c" identifier + number_literal) ))))))) ;) (expression_statement "dVar18 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);" (assignment_expression "dVar18 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar22 = dVar18 / dVar20 + *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar22 = dVar18 / dVar20 + *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" identifier = (binary_expression "dVar18 / dVar20 + *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" (binary_expression "dVar18 / dVar20" identifier / identifier) + (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar22 <= dVar18) {\n    dVar22 = dVar18;\n  }" if (parenthesized_expression "(dVar22 <= dVar18)" ( (binary_expression "dVar22 <= dVar18" identifier <= identifier) )) (compound_statement "{\n    dVar22 = dVar18;\n  }" { (expression_statement "dVar22 = dVar18;" (assignment_expression "dVar22 = dVar18" identifier = identifier) ;) })) (expression_statement "RStack_138 = RVar2;" (assignment_expression "RStack_138 = RVar2" identifier = identifier) ;) (expression_statement "iStack_134 = iVar10;" (assignment_expression "iStack_134 = iVar10" identifier = identifier) ;) (expression_statement "piStack_12c = piVar7;" (assignment_expression "piStack_12c = piVar7" identifier = identifier) ;) (expression_statement "pRStack_128 = resize_filter_00;" (assignment_expression "pRStack_128 = resize_filter_00" identifier = identifier) ;) (expression_statement "ppCStack_124 = unaff_s5;" (assignment_expression "ppCStack_124 = unaff_s5" identifier = identifier) ;) (expression_statement "uStack_11c = unaff_s7;" (assignment_expression "uStack_11c = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_118 = unaff_s8;" (assignment_expression "uStack_118 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_114 = pcVar16;" (assignment_expression "pcStack_114 = pcVar16" identifier = identifier) ;) (expression_statement "dStack_110 = dVar21;" (assignment_expression "dStack_110 = dVar21" identifier = identifier) ;) (expression_statement "dStack_108 = dVar19;" (assignment_expression "dStack_108 = dVar19" identifier = identifier) ;) (expression_statement "dStack_100 = dVar17;" (assignment_expression "dStack_100 = dVar17" identifier = identifier) ;) (expression_statement "dVar19 = GetResizeFilterSupport(resize_filter_01);" (assignment_expression "dVar19 = GetResizeFilterSupport(resize_filter_01)" identifier = (call_expression "GetResizeFilterSupport(resize_filter_01)" identifier (argument_list "(resize_filter_01)" ( identifier )))) ;) (expression_statement "dVar19 = dVar22 * dVar19;" (assignment_expression "dVar19 = dVar22 * dVar19" identifier = (binary_expression "dVar22 * dVar19" identifier * identifier)) ;) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (if_statement "if (dVar19 <= *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)) {\n    uVar9 = *(undefined4 *)pdVar8;\n  }" if (parenthesized_expression "(dVar19 <= *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0))" ( (binary_expression "dVar19 <= *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" identifier <= (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    uVar9 = *(undefined4 *)pdVar8;\n  }" { (expression_statement "uVar9 = *(undefined4 *)pdVar8;" (assignment_expression "uVar9 = *(undefined4 *)pdVar8" identifier = (pointer_expression "*(undefined4 *)pdVar8" * (cast_expression "(undefined4 *)pdVar8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "iVar10 = iStack_d4;" (assignment_expression "iVar10 = iStack_d4" identifier = identifier) ;) (expression_statement "RVar2 = (**(code **)(pcVar14 + 0x244340))(iVar11,uVar9,iStack_d4);" (assignment_expression "RVar2 = (**(code **)(pcVar14 + 0x244340))(iVar11,uVar9,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar14 + 0x244340))(iVar11,uVar9,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar14 + 0x244340))" ( (pointer_expression "**(code **)(pcVar14 + 0x244340)" * (pointer_expression "*(code **)(pcVar14 + 0x244340)" * (cast_expression "(code **)(pcVar14 + 0x244340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x244340)" ( (binary_expression "pcVar14 + 0x244340" identifier + number_literal) ))))) )) (argument_list "(iVar11,uVar9,iStack_d4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (RVar2 == BoxWeightingFunction) goto LAB_001b69e8;" if (parenthesized_expression "(RVar2 == BoxWeightingFunction)" ( (binary_expression "RVar2 == BoxWeightingFunction" identifier == identifier) )) (goto_statement "goto LAB_001b69e8;" goto statement_identifier ;)) (if_statement "if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0) <= dVar19) {\n    dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0);\n    if (dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) {\n      sVar5 = (size_t)dVar21;\n    }\n    else {\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    contribution = AcquireContributionThreadSet(sVar5);\n    if (contribution == (ContributionInfo **)0x0) goto LAB_001b6690;\n    if (dVar22 < 0.0) {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21) goto LAB_001b6888;\n    dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    contribution = AcquireContributionThreadSet(4);\n    if (contribution == (ContributionInfo **)0x0) {\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }\n    dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;\n  }" if (parenthesized_expression "(*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0) <= dVar19)" ( (binary_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0) <= dVar19" (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n    dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0);\n    if (dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) {\n      sVar5 = (size_t)dVar21;\n    }\n    else {\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    contribution = AcquireContributionThreadSet(sVar5);\n    if (contribution == (ContributionInfo **)0x0) goto LAB_001b6690;\n    if (dVar22 < 0.0) {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21) goto LAB_001b6888;\n    dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);\n  }" { (expression_statement "dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0);" (assignment_expression "dVar21 = dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0)" identifier = (binary_expression "dVar19 + dVar19 + *(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0)" (binary_expression "dVar19 + dVar19" identifier + identifier) + (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e8) + -0xcc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e8) + -0xcc0)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e8) + -0xcc0" (pointer_expression "*(int *)(pcVar14 + 0x2433e8)" * (cast_expression "(int *)(pcVar14 + 0x2433e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e8)" ( (binary_expression "pcVar14 + 0x2433e8" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) {\n      sVar5 = (size_t)dVar21;\n    }\n    else {\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" if (parenthesized_expression "(dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0))" ( (binary_expression "dVar21 < *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" identifier < (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      sVar5 = (size_t)dVar21;\n    }" { (expression_statement "sVar5 = (size_t)dVar21;" (assignment_expression "sVar5 = (size_t)dVar21" identifier = (cast_expression "(size_t)dVar21" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" else (compound_statement "{\n      sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" { (expression_statement "sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000;" (assignment_expression "sVar5 = (int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000" identifier = (binary_expression "(int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0))" ( (binary_expression "dVar21 - *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" identifier - (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43e0)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ))) | number_literal)) ;) }))) (expression_statement "contribution = AcquireContributionThreadSet(sVar5);" (assignment_expression "contribution = AcquireContributionThreadSet(sVar5)" identifier = (call_expression "AcquireContributionThreadSet(sVar5)" identifier (argument_list "(sVar5)" ( identifier )))) ;) (if_statement "if (contribution == (ContributionInfo **)0x0) goto LAB_001b6690;" if (parenthesized_expression "(contribution == (ContributionInfo **)0x0)" ( (binary_expression "contribution == (ContributionInfo **)0x0" identifier == (cast_expression "(ContributionInfo **)0x0" ( (type_descriptor "ContributionInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001b6690;" goto statement_identifier ;)) (if_statement "if (dVar22 < 0.0) {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }" if (parenthesized_expression "(dVar22 < 0.0)" ( (binary_expression "dVar22 < 0.0" identifier < number_literal) )) (compound_statement "{\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);\n    }" { (expression_statement "dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418);" (assignment_expression "dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x4418)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x4418" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }" else (compound_statement "{\n      dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\n    }" { (expression_statement "dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);" (assignment_expression "dVar21 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21) goto LAB_001b6888;" if (parenthesized_expression "(*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21)" ( (binary_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8) <= dVar22 * dVar21" (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) <= (binary_expression "dVar22 * dVar21" identifier * identifier)) )) (goto_statement "goto LAB_001b6888;" goto statement_identifier ;)) (expression_statement "dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar22 = dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" identifier = (binary_expression "dVar21 / *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" identifier / (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n    contribution = AcquireContributionThreadSet(4);\n    if (contribution == (ContributionInfo **)0x0) {\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }\n    dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;\n  }" else (compound_statement "{\n    contribution = AcquireContributionThreadSet(4);\n    if (contribution == (ContributionInfo **)0x0) {\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }\n    dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;\n  }" { (expression_statement "contribution = AcquireContributionThreadSet(4);" (assignment_expression "contribution = AcquireContributionThreadSet(4)" identifier = (call_expression "AcquireContributionThreadSet(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (if_statement "if (contribution == (ContributionInfo **)0x0) {\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }" if (parenthesized_expression "(contribution == (ContributionInfo **)0x0)" ( (binary_expression "contribution == (ContributionInfo **)0x0" identifier == (cast_expression "(ContributionInfo **)0x0" ( (type_descriptor "ContributionInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_001b6690:\n      iVar12 = 0xcf4;\n      iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);\n      RVar2 = BoxWeightingFunction;\n      goto LAB_001b69e8;\n    }" { (labeled_statement "LAB_001b6690:\n      iVar12 = 0xcf4;" statement_identifier : (expression_statement "iVar12 = 0xcf4;" (assignment_expression "iVar12 = 0xcf4" identifier = number_literal) ;)) (expression_statement "iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4;" (assignment_expression "iVar10 = *(int *)(pcVar14 + 0x2433fc) + -0x28a4" identifier = (binary_expression "*(int *)(pcVar14 + 0x2433fc) + -0x28a4" (pointer_expression "*(int *)(pcVar14 + 0x2433fc)" * (cast_expression "(int *)(pcVar14 + 0x2433fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433fc)" ( (binary_expression "pcVar14 + 0x2433fc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68);" (call_expression "(**(code **)(pcVar14 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243a3c))" ( (pointer_expression "**(code **)(pcVar14 + 0x243a3c)" * (pointer_expression "*(code **)(pcVar14 + 0x243a3c)" * (cast_expression "(code **)(pcVar14 + 0x243a3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243a3c)" ( (binary_expression "pcVar14 + 0x243a3c" identifier + number_literal) ))))) )) (argument_list "(iStack_d4,*(int *)(pcVar14 + 0x2433fc) + -0x2d88,iVar10,0xcf4,400,\n                 *(int *)(pcVar14 + 0x2433e4) + 0x46c8,*(int *)(pcVar14 + 0x2433e4) + 0x6e78,\n                 pdVar8 + 0x68)" ( identifier , (binary_expression "*(int *)(pcVar14 + 0x2433fc) + -0x2d88" (pointer_expression "*(int *)(pcVar14 + 0x2433fc)" * (cast_expression "(int *)(pcVar14 + 0x2433fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433fc)" ( (binary_expression "pcVar14 + 0x2433fc" identifier + number_literal) )))) + number_literal) , identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x46c8" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x6e78" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) , (binary_expression "pdVar8 + 0x68" identifier + number_literal) ))) ;) (expression_statement "RVar2 = BoxWeightingFunction;" (assignment_expression "RVar2 = BoxWeightingFunction" identifier = identifier) ;) (goto_statement "goto LAB_001b69e8;" goto statement_identifier ;) })) (expression_statement "dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0);" (assignment_expression "dVar19 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408);" (assignment_expression "dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001b6888:\n    dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;" statement_identifier : (expression_statement "dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22;" (assignment_expression "dVar22 = *(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22" identifier = (binary_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408) / dVar22" (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar14 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar14 + 0x2433e4)" * (cast_expression "(int *)(pcVar14 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x2433e4)" ( (binary_expression "pcVar14 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;)) }))) (expression_statement "uVar9 = (**(code **)(pcVar14 + 0x244270))(pdVar8,iStack_d4);" (assignment_expression "uVar9 = (**(code **)(pcVar14 + 0x244270))(pdVar8,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar14 + 0x244270))(pdVar8,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar14 + 0x244270))" ( (pointer_expression "**(code **)(pcVar14 + 0x244270)" * (pointer_expression "*(code **)(pcVar14 + 0x244270)" * (cast_expression "(code **)(pcVar14 + 0x244270)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x244270)" ( (binary_expression "pcVar14 + 0x244270" identifier + number_literal) ))))) )) (argument_list "(pdVar8,iStack_d4)" ( identifier , identifier )))) ;) (expression_statement "uVar3 = (**(code **)(pcVar14 + 0x2439f0))(iVar11,iStack_d4);" (assignment_expression "uVar3 = (**(code **)(pcVar14 + 0x2439f0))(iVar11,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar14 + 0x2439f0))(iVar11,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar14 + 0x2439f0))" ( (pointer_expression "**(code **)(pcVar14 + 0x2439f0)" * (pointer_expression "*(code **)(pcVar14 + 0x2439f0)" * (cast_expression "(code **)(pcVar14 + 0x2439f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x2439f0)" ( (binary_expression "pcVar14 + 0x2439f0" identifier + number_literal) ))))) )) (argument_list "(iVar11,iStack_d4)" ( identifier , identifier )))) ;) (expression_statement "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8);" (assignment_expression "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8)" identifier = (call_expression "(**(code **)(pcVar14 + 0x243fd0))(pdVar8)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar14 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar14 + 0x243fd0)" * (cast_expression "(code **)(pcVar14 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243fd0)" ( (binary_expression "pcVar14 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(pdVar8)" ( identifier )))) ;) (if_statement "if ((iVar10 == 4) || (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3)) {\n    iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11);\n    if ((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar14 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar11 + 0x18);\n    iVar10 = iVar12;\n    if (iVar12 < 0) {\n      iVar10 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar10 >> 6) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar10 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = *(int *)(iVar11 + 0x18);\n      if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }\n      iVar10 = iVar10 >> 6;\n      if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }\n    uVar23 = (*pcVar16)(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }\n    else {\n      iVar10 = 2;\n    }\n  }" if (parenthesized_expression "((iVar10 == 4) || (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3))" ( (binary_expression "(iVar10 == 4) || (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3)" (parenthesized_expression "(iVar10 == 4)" ( (binary_expression "iVar10 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3)" ( (comma_expression "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8), iVar10 == 3" (assignment_expression "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(pdVar8)" identifier = (call_expression "(**(code **)(pcVar14 + 0x243fd0))(pdVar8)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar14 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar14 + 0x243fd0)" * (cast_expression "(code **)(pcVar14 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243fd0)" ( (binary_expression "pcVar14 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(pdVar8)" ( identifier )))) , (binary_expression "iVar10 == 3" identifier == number_literal)) ))) )) (compound_statement "{\n    iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11);\n    if ((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar14 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar11 + 0x18);\n    iVar10 = iVar12;\n    if (iVar12 < 0) {\n      iVar10 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar10 >> 6) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar10 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = *(int *)(iVar11 + 0x18);\n      if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }\n      iVar10 = iVar10 >> 6;\n      if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }\n    }\n  }" { (expression_statement "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11);" (assignment_expression "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11)" identifier = (call_expression "(**(code **)(pcVar14 + 0x243fd0))(iVar11)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar14 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar14 + 0x243fd0)" * (cast_expression "(code **)(pcVar14 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243fd0)" ( (binary_expression "pcVar14 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(iVar11)" ( identifier )))) ;) (if_statement "if ((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))\n    goto LAB_001b6908;" if (parenthesized_expression "((iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3))" ( (binary_expression "(iVar10 != 4) && (iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3)" (parenthesized_expression "(iVar10 != 4)" ( (binary_expression "iVar10 != 4" identifier != number_literal) )) && (parenthesized_expression "(iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3)" ( (comma_expression "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11), iVar10 != 3" (assignment_expression "iVar10 = (**(code **)(pcVar14 + 0x243fd0))(iVar11)" identifier = (call_expression "(**(code **)(pcVar14 + 0x243fd0))(iVar11)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar14 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar14 + 0x243fd0)" * (cast_expression "(code **)(pcVar14 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243fd0)" ( (binary_expression "pcVar14 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(iVar11)" ( identifier )))) , (binary_expression "iVar10 != 3" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001b6908;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar14 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar14 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x243c58)" * (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = *(int *)(iVar11 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar11 + 0x18)" identifier = (pointer_expression "*(int *)(iVar11 + 0x18)" * (cast_expression "(int *)(iVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18)" ( (binary_expression "iVar11 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = iVar12;" (assignment_expression "iVar10 = iVar12" identifier = identifier) ;) (if_statement "if (iVar12 < 0) {\n      iVar10 = iVar12 + 0x3f;\n    }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar10 = iVar12 + 0x3f;\n    }" { (expression_statement "iVar10 = iVar12 + 0x3f;" (assignment_expression "iVar10 = iVar12 + 0x3f" identifier = (binary_expression "iVar12 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_04 < iVar10 >> 6) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1_04 < iVar10 >> 6)" ( (binary_expression "extraout_v1_04 < iVar10 >> 6" identifier < (binary_expression "iVar10 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }" { (expression_statement "(**(code **)(pcVar14 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar14 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x243c58)" * (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" 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 = iVar12 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = iVar12 < 0x80;\n    }" { (expression_statement "bVar1 = iVar12 < 0x80;" (assignment_expression "bVar1 = iVar12 < 0x80" identifier = (binary_expression "iVar12 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = *(int *)(iVar11 + 0x18);\n      if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }\n      iVar10 = iVar10 >> 6;\n      if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\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 **)(pcVar14 + 0x243c58))(7);\n      iVar10 = *(int *)(iVar11 + 0x18);\n      if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }\n      iVar10 = iVar10 >> 6;\n      if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }\n    }" { (expression_statement "(**(code **)(pcVar14 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar14 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x243c58)" * (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar10 = *(int *)(iVar11 + 0x18);" (assignment_expression "iVar10 = *(int *)(iVar11 + 0x18)" identifier = (pointer_expression "*(int *)(iVar11 + 0x18)" * (cast_expression "(int *)(iVar11 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18)" ( (binary_expression "iVar11 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 < 0) {\n        iVar10 = iVar10 + 0x3f;\n      }" if (parenthesized_expression "(iVar10 < 0)" ( (binary_expression "iVar10 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar10 = iVar10 + 0x3f;\n      }" { (expression_statement "iVar10 = iVar10 + 0x3f;" (assignment_expression "iVar10 = iVar10 + 0x3f" identifier = (binary_expression "iVar10 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar10 = iVar10 >> 6;" (assignment_expression "iVar10 = iVar10 >> 6" identifier = (binary_expression "iVar10 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_07 < iVar10) {\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }" if (parenthesized_expression "(extraout_v1_07 < iVar10)" ( (binary_expression "extraout_v1_07 < iVar10" identifier < identifier) )) (compound_statement "{\n        (**(code **)(pcVar14 + 0x243c58))(7);\n        iVar10 = extraout_v1_08;\n      }" { (expression_statement "(**(code **)(pcVar14 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar14 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x243c58)" * (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar10 = extraout_v1_08;" (assignment_expression "iVar10 = extraout_v1_08" identifier = identifier) ;) })) })) }) (else_clause "else {\nLAB_001b6908:\n    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }\n    uVar23 = (*pcVar16)(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }\n    else {\n      iVar10 = 2;\n    }\n  }" else (compound_statement "{\nLAB_001b6908:\n    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }\n    uVar23 = (*pcVar16)(7);\n    if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }\n    else {\n      iVar10 = 2;\n    }\n  }" { (labeled_statement "LAB_001b6908:\n    uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);" statement_identifier : (expression_statement "uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);" (assignment_expression "uVar23 = (**(code **)(pcVar14 + 0x243c58))(7)" identifier = (call_expression "(**(code **)(pcVar14 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x243c58)" * (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2))" ( (binary_expression "((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)" (parenthesized_expression "((int)((ulonglong)uVar23 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar23 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar23 < 2)" ( (binary_expression "(uint)uVar23 < 2" (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n      if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }\n    }" { (expression_statement "uVar23 = (**(code **)(pcVar14 + 0x243c58))(7);" (assignment_expression "uVar23 = (**(code **)(pcVar14 + 0x243c58))(7)" identifier = (call_expression "(**(code **)(pcVar14 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x243c58)" * (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar23 >> 0x20) != 0) goto LAB_001b6924;" if (parenthesized_expression "((int)((ulonglong)uVar23 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar23 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001b6924;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(pcVar14 + 0x243c58);" (assignment_expression "pcVar16 = *(code **)(pcVar14 + 0x243c58)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar23 < 2) {\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }" if (parenthesized_expression "((uint)uVar23 < 2)" ( (binary_expression "(uint)uVar23 < 2" (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n        iVar10 = 1;\n        goto LAB_001b6944;\n      }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001b6944;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }" else (compound_statement "{\nLAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);\n    }" { (labeled_statement "LAB_001b6924:\n      pcVar16 = *(code **)(pcVar14 + 0x243c58);" statement_identifier : (expression_statement "pcVar16 = *(code **)(pcVar14 + 0x243c58);" (assignment_expression "pcVar16 = *(code **)(pcVar14 + 0x243c58)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar23 = (*pcVar16)(7);" (assignment_expression "uVar23 = (*pcVar16)(7)" identifier = (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)) {\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }\n    else {\n      iVar10 = 2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2))" ( (binary_expression "((int)((ulonglong)uVar23 >> 0x20) == 0) && ((uint)uVar23 < 2)" (parenthesized_expression "((int)((ulonglong)uVar23 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar23 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar23 < 2)" ( (binary_expression "(uint)uVar23 < 2" (cast_expression "(uint)uVar23" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      (**(code **)(pcVar14 + 0x243c58))(7);\n      iVar10 = extraout_v1_05;\n    }" { (expression_statement "(**(code **)(pcVar14 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar14 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar14 + 0x243c58)" * (pointer_expression "*(code **)(pcVar14 + 0x243c58)" * (cast_expression "(code **)(pcVar14 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243c58)" ( (binary_expression "pcVar14 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar10 = extraout_v1_05;" (assignment_expression "iVar10 = extraout_v1_05" identifier = identifier) ;) }) (else_clause "else {\n      iVar10 = 2;\n    }" else (compound_statement "{\n      iVar10 = 2;\n    }" { (expression_statement "iVar10 = 2;" (assignment_expression "iVar10 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001b6944:\n  pcStack_148 = pcVar15;" statement_identifier : (expression_statement "pcStack_148 = pcVar15;" (assignment_expression "pcStack_148 = pcVar15" identifier = identifier) ;)) (expression_statement "iStack_15c = iStack_d4;" (assignment_expression "iStack_15c = iStack_d4" identifier = identifier) ;) (expression_statement "piStack_17c = piStack_dc;" (assignment_expression "piStack_17c = piStack_dc" identifier = identifier) ;) (expression_statement "iStack_180 = iStack_e0;" (assignment_expression "iStack_180 = iStack_e0" identifier = identifier) ;) (expression_statement "RStack_14c = TriangleWeightingFunction;" (assignment_expression "RStack_14c = TriangleWeightingFunction" identifier = identifier) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "dStack_188 = dVar20;" (assignment_expression "dStack_188 = dVar20" identifier = identifier) ;) (expression_statement "dStack_178 = dVar22;" (assignment_expression "dStack_178 = dVar22" identifier = identifier) ;) (expression_statement "dStack_170 = dVar19;" (assignment_expression "dStack_170 = dVar19" identifier = identifier) ;) (expression_statement "pRStack_168 = resize_filter_01;" (assignment_expression "pRStack_168 = resize_filter_01" identifier = identifier) ;) (expression_statement "pdStack_164 = pdVar8;" (assignment_expression "pdStack_164 = pdVar8" identifier = identifier) ;) (expression_statement "iStack_160 = iVar11;" (assignment_expression "iStack_160 = iVar11" identifier = identifier) ;) (expression_statement "uStack_158 = uVar9;" (assignment_expression "uStack_158 = uVar9" identifier = identifier) ;) (expression_statement "uStack_154 = uVar3;" (assignment_expression "uStack_154 = uVar3" identifier = identifier) ;) (expression_statement "ppCStack_150 = contribution;" (assignment_expression "ppCStack_150 = contribution" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar14 + 0x243cb4))(*(int *)(pcVar14 + 0x243678) + -0x7bac,&dStack_188,iVar10,0);" (call_expression "(**(code **)(pcVar14 + 0x243cb4))(*(int *)(pcVar14 + 0x243678) + -0x7bac,&dStack_188,iVar10,0)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243cb4))" ( (pointer_expression "**(code **)(pcVar14 + 0x243cb4)" * (pointer_expression "*(code **)(pcVar14 + 0x243cb4)" * (cast_expression "(code **)(pcVar14 + 0x243cb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243cb4)" ( (binary_expression "pcVar14 + 0x243cb4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x243678) + -0x7bac,&dStack_188,iVar10,0)" ( (binary_expression "*(int *)(pcVar14 + 0x243678) + -0x7bac" (pointer_expression "*(int *)(pcVar14 + 0x243678)" * (cast_expression "(int *)(pcVar14 + 0x243678)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x243678)" ( (binary_expression "pcVar14 + 0x243678" identifier + number_literal) )))) + number_literal) , (pointer_expression "&dStack_188" & identifier) , identifier , number_literal ))) ;) (expression_statement "RVar2 = RStack_14c;" (assignment_expression "RVar2 = RStack_14c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar14 + 0x243a10))(uVar3);" (call_expression "(**(code **)(pcVar14 + 0x243a10))(uVar3)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243a10))" ( (pointer_expression "**(code **)(pcVar14 + 0x243a10)" * (pointer_expression "*(code **)(pcVar14 + 0x243a10)" * (cast_expression "(code **)(pcVar14 + 0x243a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243a10)" ( (binary_expression "pcVar14 + 0x243a10" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar14 + 0x243a10))(uVar9);" (call_expression "(**(code **)(pcVar14 + 0x243a10))(uVar9)" (parenthesized_expression "(**(code **)(pcVar14 + 0x243a10))" ( (pointer_expression "**(code **)(pcVar14 + 0x243a10)" * (pointer_expression "*(code **)(pcVar14 + 0x243a10)" * (cast_expression "(code **)(pcVar14 + 0x243a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243a10)" ( (binary_expression "pcVar14 + 0x243a10" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "DestroyContributionThreadSet(contribution);" (call_expression "DestroyContributionThreadSet(contribution)" identifier (argument_list "(contribution)" ( identifier ))) ;) (labeled_statement "LAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c)) {\n    return RVar2;\n  }" statement_identifier : (if_statement "if (puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c)) {\n    return RVar2;\n  }" if (parenthesized_expression "(puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c))" ( (binary_expression "puStack_13c == (undefined4 *)**(int **)(pcVar14 + 0x243d4c)" identifier == (cast_expression "(undefined4 *)**(int **)(pcVar14 + 0x243d4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcVar14 + 0x243d4c)" * (pointer_expression "*(int **)(pcVar14 + 0x243d4c)" * (cast_expression "(int **)(pcVar14 + 0x243d4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243d4c)" ( (binary_expression "pcVar14 + 0x243d4c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return RVar2;\n  }" { (return_statement "return RVar2;" return identifier ;) }))) (expression_statement "pcVar15 = *(code **)(pcVar14 + 0x243b80);" (assignment_expression "pcVar15 = *(code **)(pcVar14 + 0x243b80)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x243b80)" * (cast_expression "(code **)(pcVar14 + 0x243b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x243b80)" ( (binary_expression "pcVar14 + 0x243b80" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = puStack_13c;" (assignment_expression "puVar6 = puStack_13c" identifier = identifier) ;) (expression_statement "(*pcVar15)();" (call_expression "(*pcVar15)()" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n    if (puVar6[0x1a] == -0x54535255) {\n      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);\n      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }\n      RVar2 = (*(code *)*puVar6)(dVar19);\n      return RVar2;\n    }\n    RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390);\n    return RVar2;\n  }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar6[0x1a] == -0x54535255) {\n      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);\n      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }\n      RVar2 = (*(code *)*puVar6)(dVar19);\n      return RVar2;\n    }\n    RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390);\n    return RVar2;\n  }" { (if_statement "if (puVar6[0x1a] == -0x54535255) {\n      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);\n      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }\n      RVar2 = (*(code *)*puVar6)(dVar19);\n      return RVar2;\n    }" if (parenthesized_expression "(puVar6[0x1a] == -0x54535255)" ( (binary_expression "puVar6[0x1a] == -0x54535255" (subscript_expression "puVar6[0x1a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);\n      if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }\n      RVar2 = (*(code *)*puVar6)(dVar19);\n      return RVar2;\n    }" { (expression_statement "dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8);" (assignment_expression "dVar19 = ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8)" identifier = (binary_expression "ABS((double)CONCAT44(iVar10,iVar12)) / *(double *)(puVar6 + 8)" (call_expression "ABS((double)CONCAT44(iVar10,iVar12))" identifier (argument_list "((double)CONCAT44(iVar10,iVar12))" ( (cast_expression "(double)CONCAT44(iVar10,iVar12)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(iVar10,iVar12)" identifier (argument_list "(iVar10,iVar12)" ( identifier , identifier )))) ))) / (pointer_expression "*(double *)(puVar6 + 8)" * (cast_expression "(double *)(puVar6 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 8)" ( (binary_expression "puVar6 + 8" identifier + number_literal) )))))) ;) (if_statement "if ((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }" if (parenthesized_expression "((*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0)))" ( (binary_expression "(*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)) &&\n         ((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))" (parenthesized_expression "(*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4))" ( (binary_expression "*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8) <= *(double *)(puVar6 + 4)" (pointer_expression "*(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar15 + 0x242e9c) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar15 + 0x242e9c) + 0x43c8)" ( (binary_expression "*(int *)(pcVar15 + 0x242e9c) + 0x43c8" (pointer_expression "*(int *)(pcVar15 + 0x242e9c)" * (cast_expression "(int *)(pcVar15 + 0x242e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x242e9c)" ( (binary_expression "pcVar15 + 0x242e9c" identifier + number_literal) )))) + number_literal) )))) <= (pointer_expression "*(double *)(puVar6 + 4)" * (cast_expression "(double *)(puVar6 + 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) ))))) )) && (parenthesized_expression "((code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0))" ( (binary_expression "(code *)puVar6[1] != (code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0)" (cast_expression "(code *)puVar6[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) != (cast_expression "(code *)(*(int *)(pcVar15 + 0x243118) + -0x24f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar15 + 0x243118) + -0x24f0)" ( (binary_expression "*(int *)(pcVar15 + 0x243118) + -0x24f0" (pointer_expression "*(int *)(pcVar15 + 0x243118)" * (cast_expression "(int *)(pcVar15 + 0x243118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x243118)" ( (binary_expression "pcVar15 + 0x243118" identifier + number_literal) )))) + number_literal) )))) ))) )) (compound_statement "{\n        (*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));\n      }" { (expression_statement "(*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6));" (call_expression "(*(code *)puVar6[1])(dVar19 * *(double *)(puVar6 + 6))" (parenthesized_expression "(*(code *)puVar6[1])" ( (pointer_expression "*(code *)puVar6[1]" * (cast_expression "(code *)puVar6[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) )) (argument_list "(dVar19 * *(double *)(puVar6 + 6))" ( (binary_expression "dVar19 * *(double *)(puVar6 + 6)" identifier * (pointer_expression "*(double *)(puVar6 + 6)" * (cast_expression "(double *)(puVar6 + 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 6)" ( (binary_expression "puVar6 + 6" identifier + number_literal) ))))) ))) ;) })) (expression_statement "RVar2 = (*(code *)*puVar6)(dVar19);" (assignment_expression "RVar2 = (*(code *)*puVar6)(dVar19)" identifier = (call_expression "(*(code *)*puVar6)(dVar19)" (parenthesized_expression "(*(code *)*puVar6)" ( (pointer_expression "*(code *)*puVar6" * (cast_expression "(code *)*puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) )) (argument_list "(dVar19)" ( identifier )))) ;) (return_statement "return RVar2;" return identifier ;) })) (expression_statement "RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390);" (assignment_expression "RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390)" identifier = (call_expression "(**(code **)(pcVar15 + 0x243bdc))\n                      (*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390)" (parenthesized_expression "(**(code **)(pcVar15 + 0x243bdc))" ( (pointer_expression "**(code **)(pcVar15 + 0x243bdc)" * (pointer_expression "*(code **)(pcVar15 + 0x243bdc)" * (cast_expression "(code **)(pcVar15 + 0x243bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x243bdc)" ( (binary_expression "pcVar15 + 0x243bdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar15 + 0x242eb4) + -0x2d10,*(int *)(pcVar15 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar15 + 0x242eb4) + -0x2390)" ( (binary_expression "*(int *)(pcVar15 + 0x242eb4) + -0x2d10" (pointer_expression "*(int *)(pcVar15 + 0x242eb4)" * (cast_expression "(int *)(pcVar15 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x242eb4)" ( (binary_expression "pcVar15 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar15 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar15 + 0x242eb4)" * (cast_expression "(int *)(pcVar15 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x242eb4)" ( (binary_expression "pcVar15 + 0x242eb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar15 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar15 + 0x242eb4)" * (cast_expression "(int *)(pcVar15 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x242eb4)" ( (binary_expression "pcVar15 + 0x242eb4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return RVar2;" return identifier ;) })) (expression_statement "RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                    (*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c);" (assignment_expression "RVar2 = (**(code **)(pcVar15 + 0x243bdc))\n                    (*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c)" identifier = (call_expression "(**(code **)(pcVar15 + 0x243bdc))\n                    (*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c)" (parenthesized_expression "(**(code **)(pcVar15 + 0x243bdc))" ( (pointer_expression "**(code **)(pcVar15 + 0x243bdc)" * (pointer_expression "*(code **)(pcVar15 + 0x243bdc)" * (cast_expression "(code **)(pcVar15 + 0x243bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x243bdc)" ( (binary_expression "pcVar15 + 0x243bdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar15 + 0x242eb4) + -0x2d38,*(int *)(pcVar15 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar15 + 0x242eb4) + -0x2390,pcVar15 + 0x24ae6c)" ( (binary_expression "*(int *)(pcVar15 + 0x242eb4) + -0x2d38" (pointer_expression "*(int *)(pcVar15 + 0x242eb4)" * (cast_expression "(int *)(pcVar15 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x242eb4)" ( (binary_expression "pcVar15 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar15 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar15 + 0x242eb4)" * (cast_expression "(int *)(pcVar15 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x242eb4)" ( (binary_expression "pcVar15 + 0x242eb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar15 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar15 + 0x242eb4)" * (cast_expression "(int *)(pcVar15 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x242eb4)" ( (binary_expression "pcVar15 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar15 + 0x24ae6c" identifier + number_literal) )))) ;) (return_statement "return RVar2;" return identifier ;) })))
(translation_unit "int FUN_001b5e94(int param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\n}\n\n" (function_definition "int FUN_001b5e94(int param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\n}" primitive_type (function_declarator "FUN_001b5e94(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier 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 "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 "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int unaff_s5;" primitive_type identifier ;) (declaration "undefined4 unaff_s7;" type_identifier identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined4 unaff_s8;" type_identifier identifier ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "double dVar20;" primitive_type identifier ;) (declaration "double dVar21;" primitive_type identifier ;) (declaration "double dVar22;" primitive_type identifier ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "double dVar24;" primitive_type identifier ;) (declaration "undefined8 uVar25;" type_identifier identifier ;) (declaration "double dStack_188;" primitive_type identifier ;) (declaration "int iStack_180;" primitive_type identifier ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "double dStack_178;" primitive_type identifier ;) (declaration "double dStack_170;" primitive_type identifier ;) (declaration "int iStack_168;" primitive_type identifier ;) (declaration "double *pdStack_164;" primitive_type (pointer_declarator "*pdStack_164" * identifier) ;) (declaration "int iStack_160;" primitive_type identifier ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "undefined4 uStack_158;" type_identifier identifier ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "int iStack_14c;" primitive_type identifier ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "undefined4 *puStack_13c;" type_identifier (pointer_declarator "*puStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "int *piStack_12c;" primitive_type (pointer_declarator "*piStack_12c" * identifier) ;) (declaration "int iStack_128;" primitive_type identifier ;) (declaration "int iStack_124;" primitive_type identifier ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "code *pcStack_114;" type_identifier (pointer_declarator "*pcStack_114" * identifier) ;) (declaration "double dStack_110;" primitive_type identifier ;) (declaration "double dStack_108;" primitive_type identifier ;) (declaration "double dStack_100;" primitive_type identifier ;) (declaration "undefined4 uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "int iStack_e0;" primitive_type identifier ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "code *pcStack_d8;" type_identifier (pointer_declarator "*pcStack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "double dStack_d0;" primitive_type identifier ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "double dStack_c0;" primitive_type identifier ;) (declaration "double dStack_b8;" primitive_type identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int *piStack_ac;" primitive_type (pointer_declarator "*piStack_ac" * identifier) ;) (declaration "int iStack_a8;" primitive_type identifier ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "undefined4 uStack_2c;" type_identifier identifier ;) (declaration "int iStack_1c;" primitive_type identifier ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" ( (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38" identifier + number_literal) , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" identifier + number_literal) , number_literal , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" else (if_statement "if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x68) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x68) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return *(int *)(param_1 + 100);\n  }" { (return_statement "return *(int *)(param_1 + 100);" return (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) ;) })))) (expression_statement "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;" (assignment_expression "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" identifier = (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" identifier + number_literal)) ;) (expression_statement "pcVar17 = FUN_001b5f20;" (assignment_expression "pcVar17 = FUN_001b5f20" identifier = identifier) ;) (expression_statement "puVar15 = PTR___assert_fail_003fa620;" (assignment_expression "puVar15 = PTR___assert_fail_003fa620" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" ( (pointer_expression "*(code *)PTR___assert_fail_003fa620" * (cast_expression "(code *)PTR___assert_fail_003fa620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" ( identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" identifier + number_literal) , number_literal , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" identifier + number_literal) ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }" { (expression_statement "(**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);" (call_expression "(**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378)" (parenthesized_expression "(**(code **)(puVar15 + 0x244700))" ( (pointer_expression "**(code **)(puVar15 + 0x244700)" * (pointer_expression "*(code **)(puVar15 + 0x244700)" * (cast_expression "(code **)(puVar15 + 0x244700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x244700)" ( (binary_expression "puVar15 + 0x244700" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378)" ( (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d38" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" else (if_statement "if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" if (parenthesized_expression "(*(int *)(puVar4 + 0x68) == -0x54535255)" ( (binary_expression "*(int *)(puVar4 + 0x68) == -0x54535255" (pointer_expression "*(int *)(puVar4 + 0x68)" * (cast_expression "(int *)(puVar4 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x68)" ( (binary_expression "puVar4 + 0x68" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return -0x54535255;\n  }" { (return_statement "return -0x54535255;" return number_literal ;) })))) (expression_statement "iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;" (assignment_expression "iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378" identifier = (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar12 = 0x64f;" (assignment_expression "iVar12 = 0x64f" identifier = number_literal) ;) (expression_statement "piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);" (assignment_expression "piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" identifier = (cast_expression "(int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" ( (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;" (assignment_expression "iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10" identifier = (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d10" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" * (cast_expression "(int *)(puVar15 + 0x2439d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x2439d8)" ( (binary_expression "puVar15 + 0x2439d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x244700);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x244700)" identifier = (pointer_expression "*(code **)(puVar15 + 0x244700)" * (cast_expression "(code **)(puVar15 + 0x244700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x244700)" ( (binary_expression "puVar15 + 0x244700" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_d8 = pcVar16 + 0x24b8fc;" (assignment_expression "pcStack_d8 = pcVar16 + 0x24b8fc" identifier = (binary_expression "pcVar16 + 0x24b8fc" identifier + number_literal)) ;) (expression_statement "dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);" (assignment_expression "dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c)" identifier = (cast_expression "(double)CONCAT44(puVar15 + 0x24b990,uStack_2c)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(puVar15 + 0x24b990,uStack_2c)" identifier (argument_list "(puVar15 + 0x24b990,uStack_2c)" ( (binary_expression "puVar15 + 0x24b990" identifier + number_literal) , identifier ))))) ;) (expression_statement "iStack_84 = **(int **)(pcVar16 + 0x244294);" (assignment_expression "iStack_84 = **(int **)(pcVar16 + 0x244294)" identifier = (pointer_expression "**(int **)(pcVar16 + 0x244294)" * (pointer_expression "*(int **)(pcVar16 + 0x244294)" * (cast_expression "(int **)(pcVar16 + 0x244294)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x244294)" ( (binary_expression "pcVar16 + 0x244294" identifier + number_literal) )))))) ;) (expression_statement "dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);" (assignment_expression "dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x24392c) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x24392c) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x24392c)" * (cast_expression "(int *)(pcVar16 + 0x24392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x24392c)" ( (binary_expression "pcVar16 + 0x24392c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);" (assignment_expression "dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" identifier = (binary_expression "dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" (binary_expression "dVar19 / dVar21" identifier / identifier) + (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x24392c) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x24392c)" * (cast_expression "(int *)(pcVar16 + 0x24392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x24392c)" ( (binary_expression "pcVar16 + 0x24392c" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }" if (parenthesized_expression "(dVar23 <= dVar19)" ( (binary_expression "dVar23 <= dVar19" identifier <= identifier) )) (compound_statement "{\n    dVar23 = dVar19;\n  }" { (expression_statement "dVar23 = dVar19;" (assignment_expression "dVar23 = dVar19" identifier = identifier) ;) })) (expression_statement "dVar19 = (double)FUN_001b5f20(iVar5);" (assignment_expression "dVar19 = (double)FUN_001b5f20(iVar5)" identifier = (cast_expression "(double)FUN_001b5f20(iVar5)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_001b5f20(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "dVar19 = dVar23 * dVar19;" (assignment_expression "dVar19 = dVar23 * dVar19" identifier = (binary_expression "dVar23 * dVar19" identifier * identifier)) ;) (expression_statement "pdVar10 = (double *)0x1;" (assignment_expression "pdVar10 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }" if (parenthesized_expression "(dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0))" ( (binary_expression "dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" identifier <= (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    pdVar10 = (double *)*piVar9;\n  }" { (expression_statement "pdVar10 = (double *)*piVar9;" (assignment_expression "pdVar10 = (double *)*piVar9" identifier = (cast_expression "(double *)*piVar9" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) })) (expression_statement "iVar13 = iStack_1c;" (assignment_expression "iVar13 = iStack_1c" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);" (assignment_expression "iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x7074))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7074))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7074)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7074)" * (cast_expression "(code **)(pcStack_d8 + -0x7074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7074)" ( (binary_expression "pcStack_d8 + -0x7074" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }" { (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" if (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19)" ( (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }" { (expression_statement "dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);" (assignment_expression "dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" identifier = (binary_expression "dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (binary_expression "dVar19 + dVar19" identifier + identifier) + (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fcc)" * (cast_expression "(int *)(pcStack_d8 + -0x7fcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fcc)" ( (binary_expression "pcStack_d8 + -0x7fcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" if (parenthesized_expression "(dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (binary_expression "dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" identifier < (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n        uVar7 = (uint)dVar22;\n      }" { (expression_statement "uVar7 = (uint)dVar22;" (assignment_expression "uVar7 = (uint)dVar22" identifier = (cast_expression "(uint)dVar22" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" else (compound_statement "{\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" { (expression_statement "uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;" (assignment_expression "uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" identifier = (binary_expression "(int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" ( (binary_expression "dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" identifier - (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ))) | number_literal)) ;) }))) (expression_statement "unaff_s5 = FUN_001b06c0(uVar7);" (assignment_expression "unaff_s5 = FUN_001b06c0(uVar7)" identifier = (call_expression "FUN_001b06c0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (unaff_s5 == 0) goto LAB_001b6148;" if (parenthesized_expression "(unaff_s5 == 0)" ( (binary_expression "unaff_s5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b6148;" goto statement_identifier ;)) (if_statement "if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" if (parenthesized_expression "(dVar23 < 0.0)" ( (binary_expression "dVar23 < 0.0" identifier < number_literal) )) (compound_statement "{\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }" { (expression_statement "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);" (assignment_expression "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4418" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" else (compound_statement "{\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" { (expression_statement "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;" if (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)" ( (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) <= (binary_expression "dVar23 * dVar22" identifier * identifier)) )) (goto_statement "goto LAB_001b6340;" goto statement_identifier ;)) (expression_statement "dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);" (assignment_expression "dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" identifier = (binary_expression "dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" identifier / (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" else (compound_statement "{\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" { (expression_statement "unaff_s5 = FUN_001b06c0(4);" (assignment_expression "unaff_s5 = FUN_001b06c0(4)" identifier = (call_expression "FUN_001b06c0(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (if_statement "if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }" if (parenthesized_expression "(unaff_s5 == 0)" ( (binary_expression "unaff_s5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }" { (labeled_statement "LAB_001b6148:\n        piVar9 = piVar9 + 0xd0;" statement_identifier : (expression_statement "piVar9 = piVar9 + 0xd0;" (assignment_expression "piVar9 = piVar9 + 0xd0" identifier = (binary_expression "piVar9 + 0xd0" identifier + number_literal)) ;)) (expression_statement "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;" (assignment_expression "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;" (assignment_expression "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uStack_e8 = 400;" (assignment_expression "uStack_e8 = 400" identifier = number_literal) ;) (expression_statement "iVar14 = 0xdce;" (assignment_expression "iVar14 = 0xdce" identifier = number_literal) ;) (expression_statement "iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;" (assignment_expression "iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870" identifier = (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2870" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" * (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fb8)" ( (binary_expression "pcStack_d8 + -0x7fb8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);" (assignment_expression "pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" identifier = (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" * (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fb8)" ( (binary_expression "pcStack_d8 + -0x7fb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piStack_dc = piVar9;" (assignment_expression "piStack_dc = piVar9" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);" (call_expression "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7978))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7978)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7978)" * (cast_expression "(code **)(pcStack_d8 + -0x7978)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7978)" ( (binary_expression "pcStack_d8 + -0x7978" identifier + number_literal) ))))) )) (argument_list "(iStack_1c,pdVar10,iVar13,0xdce)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001b64a0;" goto statement_identifier ;) })) (expression_statement "dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);" (assignment_expression "dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;" statement_identifier : (expression_statement "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;" (assignment_expression "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23" identifier = (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" * (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7fd0)" ( (binary_expression "pcStack_d8 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;)) }))) (expression_statement "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);" (assignment_expression "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7144))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7144)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7144)" * (cast_expression "(code **)(pcStack_d8 + -0x7144)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7144)" ( (binary_expression "pcStack_d8 + -0x7144" identifier + number_literal) ))))) )) (argument_list "(piVar9,iStack_1c)" ( identifier , identifier )))) ;) (expression_statement "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);" (assignment_expression "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79c4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79c4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79c4)" * (cast_expression "(code **)(pcStack_d8 + -0x79c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79c4)" ( (binary_expression "pcStack_d8 + -0x79c4" identifier + number_literal) ))))) )) (argument_list "(iVar12,iStack_1c)" ( identifier , identifier )))) ;) (expression_statement "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) ;) (if_statement "if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" if (parenthesized_expression "((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3))" ( (binary_expression "(iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)" (parenthesized_expression "(iVar14 == 4)" ( (binary_expression "iVar14 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)" ( (comma_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier )))) , (binary_expression "iVar14 == 3" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }" { (expression_statement "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier )))) ;) (if_statement "if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;" if (parenthesized_expression "((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))" ( (binary_expression "(iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3)" (parenthesized_expression "(iVar14 != 4)" ( (binary_expression "iVar14 != 4" identifier != number_literal) )) && (parenthesized_expression "(iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3)" ( (comma_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" * (cast_expression "(code **)(pcStack_d8 + -0x73e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x73e4)" ( (binary_expression "pcStack_d8 + -0x73e4" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier )))) , (binary_expression "iVar14 != 3" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001b63c0;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar2 = *(int *)(iVar12 + 0x1c);" (assignment_expression "iVar2 = *(int *)(iVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar12 + 0x1c)" * (cast_expression "(int *)(iVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" identifier = identifier) ;) (if_statement "if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar14 = iVar2 + 0x3f;\n      }" { (expression_statement "iVar14 = iVar2 + 0x3f;" (assignment_expression "iVar14 = iVar2 + 0x3f" identifier = (binary_expression "iVar2 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }" if (parenthesized_expression "(extraout_v1 < iVar14 >> 6)" ( (binary_expression "extraout_v1 < iVar14 >> 6" identifier < (binary_expression "iVar14 >> 6" identifier >> number_literal)) )) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "bVar1 = extraout_v1_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" identifier = (binary_expression "extraout_v1_01 < 2" identifier < number_literal)) ;) }) (else_clause "else {\n        bVar1 = iVar2 < 0x80;\n      }" else (compound_statement "{\n        bVar1 = iVar2 < 0x80;\n      }" { (expression_statement "bVar1 = iVar2 < 0x80;" (assignment_expression "bVar1 = iVar2 < 0x80" identifier = (binary_expression "iVar2 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\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_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar13 = *(int *)(iVar12 + 0x1c);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar12 + 0x1c)" * (cast_expression "(int *)(iVar12 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c)" ( (binary_expression "iVar12 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar13 = iVar13 + 0x3f;\n        }" { (expression_statement "iVar13 = iVar13 + 0x3f;" (assignment_expression "iVar13 = iVar13 + 0x3f" identifier = (binary_expression "iVar13 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar13 = iVar13 >> 6;" (assignment_expression "iVar13 = iVar13 >> 6" identifier = (binary_expression "iVar13 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }" if (parenthesized_expression "(extraout_v1_02 < iVar13)" ( (binary_expression "extraout_v1_02 < iVar13" identifier < identifier) )) (compound_statement "{\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar13 = extraout_v1_03;" (assignment_expression "iVar13 = extraout_v1_03" identifier = identifier) ;) })) })) }) (else_clause "else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" else (compound_statement "{\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" { (labeled_statement "LAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" statement_identifier : (expression_statement "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }" { (expression_statement "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7)" identifier = (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;" if (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001b63dc;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x775c)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }" if (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001b63fc;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" else (compound_statement "{\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" { (labeled_statement "LAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);" statement_identifier : (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x775c)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar25 = (*pcVar16)(7);" (assignment_expression "uVar25 = (*pcVar16)(7)" identifier = (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }" { (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" * (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" * (cast_expression "(code **)(pcStack_d8 + -0x775c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x775c)" ( (binary_expression "pcStack_d8 + -0x775c" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar13 = extraout_v1_00;" (assignment_expression "iVar13 = extraout_v1_00" identifier = identifier) ;) }) (else_clause "else {\n        iVar13 = 2;\n      }" else (compound_statement "{\n        iVar13 = 2;\n      }" { (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001b63fc:\n    iStack_94 = 1;" statement_identifier : (expression_statement "iStack_94 = 1;" (assignment_expression "iStack_94 = 1" identifier = number_literal) ;)) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "pdVar10 = &dStack_d0;" (assignment_expression "pdVar10 = &dStack_d0" identifier = (pointer_expression "&dStack_d0" & identifier)) ;) (expression_statement "dStack_d0 = dVar21;" (assignment_expression "dStack_d0 = dVar21" identifier = identifier) ;) (expression_statement "pcStack_c4 = pcVar17;" (assignment_expression "pcStack_c4 = pcVar17" identifier = identifier) ;) (expression_statement "dStack_c0 = dVar23;" (assignment_expression "dStack_c0 = dVar23" identifier = identifier) ;) (expression_statement "dStack_b8 = dVar19;" (assignment_expression "dStack_b8 = dVar19" identifier = identifier) ;) (expression_statement "iStack_b0 = iVar5;" (assignment_expression "iStack_b0 = iVar5" identifier = identifier) ;) (expression_statement "piStack_ac = piVar9;" (assignment_expression "piStack_ac = piVar9" identifier = identifier) ;) (expression_statement "iStack_a8 = iVar12;" (assignment_expression "iStack_a8 = iVar12" identifier = identifier) ;) (expression_statement "uStack_a0 = unaff_s7;" (assignment_expression "uStack_a0 = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_9c = unaff_s8;" (assignment_expression "uStack_9c = unaff_s8" identifier = identifier) ;) (expression_statement "iStack_98 = unaff_s5;" (assignment_expression "iStack_98 = unaff_s5" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);" (call_expression "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7700))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x7700)" * (pointer_expression "*(code **)(pcStack_d8 + -0x7700)" * (cast_expression "(code **)(pcStack_d8 + -0x7700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7700)" ( (binary_expression "pcStack_d8 + -0x7700" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0)" ( (binary_expression "*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c" (pointer_expression "*(int *)(pcStack_d8 + -0x7d54)" * (cast_expression "(int *)(pcStack_d8 + -0x7d54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d8 + -0x7d54)" ( (binary_expression "pcStack_d8 + -0x7d54" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal ))) ;) (expression_statement "iVar2 = iStack_94;" (assignment_expression "iVar2 = iStack_94" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" * (cast_expression "(code **)(pcStack_d8 + -0x79a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79a4)" ( (binary_expression "pcStack_d8 + -0x79a4" identifier + number_literal) ))))) )) (argument_list "(unaff_s8)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" ( (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" * (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" * (cast_expression "(code **)(pcStack_d8 + -0x79a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x79a4)" ( (binary_expression "pcStack_d8 + -0x79a4" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) (expression_statement "FUN_001b05f0(unaff_s5);" (call_expression "FUN_001b05f0(unaff_s5)" identifier (argument_list "(unaff_s5)" ( identifier ))) ;) })) (labeled_statement "LAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }" if (parenthesized_expression "(iStack_84 == **(int **)(pcStack_d8 + -0x7668))" ( (binary_expression "iStack_84 == **(int **)(pcStack_d8 + -0x7668)" identifier == (pointer_expression "**(int **)(pcStack_d8 + -0x7668)" * (pointer_expression "*(int **)(pcStack_d8 + -0x7668)" * (cast_expression "(int **)(pcStack_d8 + -0x7668)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7668)" ( (binary_expression "pcStack_d8 + -0x7668" identifier + number_literal) )))))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x7834);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x7834)" identifier = (pointer_expression "*(code **)(pcStack_d8 + -0x7834)" * (cast_expression "(code **)(pcStack_d8 + -0x7834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_d8 + -0x7834)" ( (binary_expression "pcStack_d8 + -0x7834" identifier + number_literal) ))))) ;) (expression_statement "pcVar18 = FUN_001b64fc;" (assignment_expression "pcVar18 = FUN_001b64fc" identifier = identifier) ;) (expression_statement "iVar6 = iStack_84;" (assignment_expression "iVar6 = iStack_84" identifier = identifier) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar17 = pcStack_d8;" (assignment_expression "pcVar17 = pcStack_d8" identifier = identifier) ;) (expression_statement "dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);" (assignment_expression "dVar22 = (double)CONCAT44(uStack_e8,iStack_e4)" identifier = (cast_expression "(double)CONCAT44(uStack_e8,iStack_e4)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uStack_e8,iStack_e4)" identifier (argument_list "(uStack_e8,iStack_e4)" ( identifier , identifier ))))) ;) (expression_statement "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);" (assignment_expression "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar16 + 0x243d4c)" * (pointer_expression "*(undefined4 **)(pcVar16 + 0x243d4c)" * (cast_expression "(undefined4 **)(pcVar16 + 0x243d4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243d4c)" ( (binary_expression "pcVar16 + 0x243d4c" identifier + number_literal) ))))))) ;) (expression_statement "dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" identifier = (binary_expression "dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (binary_expression "dVar20 / dVar22" identifier / identifier) + (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }" if (parenthesized_expression "(dVar24 <= dVar20)" ( (binary_expression "dVar24 <= dVar20" identifier <= identifier) )) (compound_statement "{\n    dVar24 = dVar20;\n  }" { (expression_statement "dVar24 = dVar20;" (assignment_expression "dVar24 = dVar20" identifier = identifier) ;) })) (expression_statement "iStack_138 = iVar2;" (assignment_expression "iStack_138 = iVar2" identifier = identifier) ;) (expression_statement "iStack_134 = iVar12;" (assignment_expression "iStack_134 = iVar12" identifier = identifier) ;) (expression_statement "piStack_12c = piVar9;" (assignment_expression "piStack_12c = piVar9" identifier = identifier) ;) (expression_statement "iStack_128 = iVar5;" (assignment_expression "iStack_128 = iVar5" identifier = identifier) ;) (expression_statement "iStack_124 = unaff_s5;" (assignment_expression "iStack_124 = unaff_s5" identifier = identifier) ;) (expression_statement "uStack_11c = unaff_s7;" (assignment_expression "uStack_11c = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_118 = unaff_s8;" (assignment_expression "uStack_118 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_114 = pcVar18;" (assignment_expression "pcStack_114 = pcVar18" identifier = identifier) ;) (expression_statement "dStack_110 = dVar23;" (assignment_expression "dStack_110 = dVar23" identifier = identifier) ;) (expression_statement "dStack_108 = dVar21;" (assignment_expression "dStack_108 = dVar21" identifier = identifier) ;) (expression_statement "dStack_100 = dVar19;" (assignment_expression "dStack_100 = dVar19" identifier = identifier) ;) (expression_statement "dVar21 = (double)FUN_001b5f20(iVar6);" (assignment_expression "dVar21 = (double)FUN_001b5f20(iVar6)" identifier = (cast_expression "(double)FUN_001b5f20(iVar6)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_001b5f20(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))))) ;) (expression_statement "dVar21 = dVar24 * dVar21;" (assignment_expression "dVar21 = dVar24 * dVar21" identifier = (binary_expression "dVar24 * dVar21" identifier * identifier)) ;) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (if_statement "if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }" if (parenthesized_expression "(dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0))" ( (binary_expression "dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" identifier <= (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    uVar11 = *(undefined4 *)pdVar10;\n  }" { (expression_statement "uVar11 = *(undefined4 *)pdVar10;" (assignment_expression "uVar11 = *(undefined4 *)pdVar10" identifier = (pointer_expression "*(undefined4 *)pdVar10" * (cast_expression "(undefined4 *)pdVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "iVar12 = iStack_d4;" (assignment_expression "iVar12 = iStack_d4" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x244340))" ( (pointer_expression "**(code **)(pcVar16 + 0x244340)" * (pointer_expression "*(code **)(pcVar16 + 0x244340)" * (cast_expression "(code **)(pcVar16 + 0x244340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x244340)" ( (binary_expression "pcVar16 + 0x244340" identifier + number_literal) ))))) )) (argument_list "(iVar13,uVar11,iStack_d4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) goto LAB_001b69e8;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b69e8;" goto statement_identifier ;)) (if_statement "if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" if (parenthesized_expression "(*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21)" ( (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }" { (expression_statement "dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);" (assignment_expression "dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" identifier = (binary_expression "dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" (binary_expression "dVar21 + dVar21" identifier + identifier) + (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e8) + -0xcc0" (pointer_expression "*(int *)(pcVar16 + 0x2433e8)" * (cast_expression "(int *)(pcVar16 + 0x2433e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e8)" ( (binary_expression "pcVar16 + 0x2433e8" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" if (parenthesized_expression "(dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" ( (binary_expression "dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" identifier < (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      uVar7 = (uint)dVar23;\n    }" { (expression_statement "uVar7 = (uint)dVar23;" (assignment_expression "uVar7 = (uint)dVar23" identifier = (cast_expression "(uint)dVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" else (compound_statement "{\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" { (expression_statement "uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;" (assignment_expression "uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000" identifier = (binary_expression "(int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" ( (binary_expression "dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" identifier - (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ))) | number_literal)) ;) }))) (expression_statement "iVar2 = FUN_001b06c0(uVar7);" (assignment_expression "iVar2 = FUN_001b06c0(uVar7)" identifier = (call_expression "FUN_001b06c0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_001b6690;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001b6690;" goto statement_identifier ;)) (if_statement "if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" if (parenthesized_expression "(dVar24 < 0.0)" ( (binary_expression "dVar24 < 0.0" identifier < number_literal) )) (compound_statement "{\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }" { (expression_statement "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4418" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" else (compound_statement "{\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" { (expression_statement "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) }))) (if_statement "if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;" if (parenthesized_expression "(*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23)" ( (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) <= (binary_expression "dVar24 * dVar23" identifier * identifier)) )) (goto_statement "goto LAB_001b6888;" goto statement_identifier ;)) (expression_statement "dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" identifier = (binary_expression "dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" identifier / (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" else (compound_statement "{\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" { (expression_statement "iVar2 = FUN_001b06c0(4);" (assignment_expression "iVar2 = FUN_001b06c0(4)" identifier = (call_expression "FUN_001b06c0(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (if_statement "if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }" { (labeled_statement "LAB_001b6690:\n      iVar14 = 0xcf4;" statement_identifier : (expression_statement "iVar14 = 0xcf4;" (assignment_expression "iVar14 = 0xcf4" identifier = number_literal) ;)) (expression_statement "iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;" (assignment_expression "iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4" identifier = (binary_expression "*(int *)(pcVar16 + 0x2433fc) + -0x28a4" (pointer_expression "*(int *)(pcVar16 + 0x2433fc)" * (cast_expression "(int *)(pcVar16 + 0x2433fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433fc)" ( (binary_expression "pcVar16 + 0x2433fc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);" (call_expression "(**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a3c))" ( (pointer_expression "**(code **)(pcVar16 + 0x243a3c)" * (pointer_expression "*(code **)(pcVar16 + 0x243a3c)" * (cast_expression "(code **)(pcVar16 + 0x243a3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243a3c)" ( (binary_expression "pcVar16 + 0x243a3c" identifier + number_literal) ))))) )) (argument_list "(iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68)" ( identifier , (binary_expression "*(int *)(pcVar16 + 0x2433fc) + -0x2d88" (pointer_expression "*(int *)(pcVar16 + 0x2433fc)" * (cast_expression "(int *)(pcVar16 + 0x2433fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433fc)" ( (binary_expression "pcVar16 + 0x2433fc" identifier + number_literal) )))) + number_literal) , identifier , number_literal , number_literal , (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x46c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x6e78" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) , (binary_expression "pdVar10 + 0x68" identifier + number_literal) ))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001b69e8;" goto statement_identifier ;) })) (expression_statement "dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);" (assignment_expression "dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;" statement_identifier : (expression_statement "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;" (assignment_expression "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24" identifier = (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" * (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" ( (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" * (cast_expression "(int *)(pcVar16 + 0x2433e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x2433e4)" ( (binary_expression "pcVar16 + 0x2433e4" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;)) }))) (expression_statement "uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);" (assignment_expression "uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x244270))" ( (pointer_expression "**(code **)(pcVar16 + 0x244270)" * (pointer_expression "*(code **)(pcVar16 + 0x244270)" * (cast_expression "(code **)(pcVar16 + 0x244270)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x244270)" ( (binary_expression "pcVar16 + 0x244270" identifier + number_literal) ))))) )) (argument_list "(pdVar10,iStack_d4)" ( identifier , identifier )))) ;) (expression_statement "uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);" (assignment_expression "uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4)" identifier = (call_expression "(**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2439f0))" ( (pointer_expression "**(code **)(pcVar16 + 0x2439f0)" * (pointer_expression "*(code **)(pcVar16 + 0x2439f0)" * (cast_expression "(code **)(pcVar16 + 0x2439f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x2439f0)" ( (binary_expression "pcVar16 + 0x2439f0" identifier + number_literal) ))))) )) (argument_list "(iVar13,iStack_d4)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(pdVar10)" ( identifier )))) ;) (if_statement "if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" if (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(pdVar10)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(iVar13)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(iVar13)" ( identifier )))) ;) (if_statement "if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;" if (parenthesized_expression "((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))" ( (binary_expression "(iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3)" (parenthesized_expression "(iVar5 != 4)" ( (binary_expression "iVar5 != 4" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3)" ( (comma_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243fd0))(iVar13)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" ( (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" * (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" * (cast_expression "(code **)(pcVar16 + 0x243fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243fd0)" ( (binary_expression "pcVar16 + 0x243fd0" identifier + number_literal) ))))) )) (argument_list "(iVar13)" ( identifier )))) , (binary_expression "iVar5 != 3" identifier != number_literal)) ))) )) (goto_statement "goto LAB_001b6908;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar13 + 0x18)" identifier = (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iVar12;" (assignment_expression "iVar5 = iVar12" identifier = identifier) ;) (if_statement "if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar5 = iVar12 + 0x3f;\n    }" { (expression_statement "iVar5 = iVar12 + 0x3f;" (assignment_expression "iVar5 = iVar12 + 0x3f" identifier = (binary_expression "iVar12 + 0x3f" identifier + number_literal)) ;) })) (if_statement "if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }" if (parenthesized_expression "(extraout_v1_04 < iVar5 >> 6)" ( (binary_expression "extraout_v1_04 < iVar5 >> 6" identifier < (binary_expression "iVar5 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" 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 = iVar12 < 0x80;\n    }" else (compound_statement "{\n      bVar1 = iVar12 < 0x80;\n    }" { (expression_statement "bVar1 = iVar12 < 0x80;" (assignment_expression "bVar1 = iVar12 < 0x80" identifier = (binary_expression "iVar12 < 0x80" identifier < number_literal)) ;) }))) (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" identifier = number_literal) ;) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\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 **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar13 + 0x18)" identifier = (pointer_expression "*(int *)(iVar13 + 0x18)" * (cast_expression "(int *)(iVar13 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x18)" ( (binary_expression "iVar13 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar12 = iVar12 + 0x3f;\n      }" { (expression_statement "iVar12 = iVar12 + 0x3f;" (assignment_expression "iVar12 = iVar12 + 0x3f" identifier = (binary_expression "iVar12 + 0x3f" identifier + number_literal)) ;) })) (expression_statement "iVar12 = iVar12 >> 6;" (assignment_expression "iVar12 = iVar12 >> 6" identifier = (binary_expression "iVar12 >> 6" identifier >> number_literal)) ;) (if_statement "if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }" if (parenthesized_expression "(extraout_v1_07 < iVar12)" ( (binary_expression "extraout_v1_07 < iVar12" identifier < identifier) )) (compound_statement "{\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = extraout_v1_08;" (assignment_expression "iVar12 = extraout_v1_08" identifier = identifier) ;) })) })) }) (else_clause "else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" else (compound_statement "{\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" { (labeled_statement "LAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" statement_identifier : (expression_statement "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" (assignment_expression "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;)) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }" { (expression_statement "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" (assignment_expression "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7)" identifier = (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;" if (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (goto_statement "goto LAB_001b6924;" goto statement_identifier ;)) (expression_statement "pcVar18 = *(code **)(pcVar16 + 0x243c58);" (assignment_expression "pcVar18 = *(code **)(pcVar16 + 0x243c58)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) ;) (if_statement "if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }" if (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }" { (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001b6944;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" else (compound_statement "{\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" { (labeled_statement "LAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);" statement_identifier : (expression_statement "pcVar18 = *(code **)(pcVar16 + 0x243c58);" (assignment_expression "pcVar18 = *(code **)(pcVar16 + 0x243c58)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar25 = (*pcVar18)(7);" (assignment_expression "uVar25 = (*pcVar18)(7)" identifier = (call_expression "(*pcVar18)(7)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" ( (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" ( (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar25 < 2)" ( (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }" { (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" ( (pointer_expression "**(code **)(pcVar16 + 0x243c58)" * (pointer_expression "*(code **)(pcVar16 + 0x243c58)" * (cast_expression "(code **)(pcVar16 + 0x243c58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243c58)" ( (binary_expression "pcVar16 + 0x243c58" identifier + number_literal) ))))) )) (argument_list "(7)" ( number_literal ))) ;) (expression_statement "iVar12 = extraout_v1_05;" (assignment_expression "iVar12 = extraout_v1_05" identifier = identifier) ;) }) (else_clause "else {\n      iVar12 = 2;\n    }" else (compound_statement "{\n      iVar12 = 2;\n    }" { (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_001b6944:\n  pcStack_148 = pcVar17;" statement_identifier : (expression_statement "pcStack_148 = pcVar17;" (assignment_expression "pcStack_148 = pcVar17" identifier = identifier) ;)) (expression_statement "iStack_15c = iStack_d4;" (assignment_expression "iStack_15c = iStack_d4" identifier = identifier) ;) (expression_statement "piStack_17c = piStack_dc;" (assignment_expression "piStack_17c = piStack_dc" identifier = identifier) ;) (expression_statement "iStack_180 = iStack_e0;" (assignment_expression "iStack_180 = iStack_e0" identifier = identifier) ;) (expression_statement "iStack_14c = 1;" (assignment_expression "iStack_14c = 1" identifier = number_literal) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "dStack_188 = dVar22;" (assignment_expression "dStack_188 = dVar22" identifier = identifier) ;) (expression_statement "dStack_178 = dVar24;" (assignment_expression "dStack_178 = dVar24" identifier = identifier) ;) (expression_statement "dStack_170 = dVar21;" (assignment_expression "dStack_170 = dVar21" identifier = identifier) ;) (expression_statement "iStack_168 = iVar6;" (assignment_expression "iStack_168 = iVar6" identifier = identifier) ;) (expression_statement "pdStack_164 = pdVar10;" (assignment_expression "pdStack_164 = pdVar10" identifier = identifier) ;) (expression_statement "iStack_160 = iVar13;" (assignment_expression "iStack_160 = iVar13" identifier = identifier) ;) (expression_statement "uStack_158 = uVar11;" (assignment_expression "uStack_158 = uVar11" identifier = identifier) ;) (expression_statement "uStack_154 = uVar3;" (assignment_expression "uStack_154 = uVar3" identifier = identifier) ;) (expression_statement "iStack_150 = iVar2;" (assignment_expression "iStack_150 = iVar2" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);" (call_expression "(**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243cb4))" ( (pointer_expression "**(code **)(pcVar16 + 0x243cb4)" * (pointer_expression "*(code **)(pcVar16 + 0x243cb4)" * (cast_expression "(code **)(pcVar16 + 0x243cb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243cb4)" ( (binary_expression "pcVar16 + 0x243cb4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0)" ( (binary_expression "*(int *)(pcVar16 + 0x243678) + -0x7bac" (pointer_expression "*(int *)(pcVar16 + 0x243678)" * (cast_expression "(int *)(pcVar16 + 0x243678)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x243678)" ( (binary_expression "pcVar16 + 0x243678" identifier + number_literal) )))) + number_literal) , (pointer_expression "&dStack_188" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar5 = iStack_14c;" (assignment_expression "iVar5 = iStack_14c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar16 + 0x243a10))(uVar3);" (call_expression "(**(code **)(pcVar16 + 0x243a10))(uVar3)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a10))" ( (pointer_expression "**(code **)(pcVar16 + 0x243a10)" * (pointer_expression "*(code **)(pcVar16 + 0x243a10)" * (cast_expression "(code **)(pcVar16 + 0x243a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243a10)" ( (binary_expression "pcVar16 + 0x243a10" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar16 + 0x243a10))(uVar11);" (call_expression "(**(code **)(pcVar16 + 0x243a10))(uVar11)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a10))" ( (pointer_expression "**(code **)(pcVar16 + 0x243a10)" * (pointer_expression "*(code **)(pcVar16 + 0x243a10)" * (cast_expression "(code **)(pcVar16 + 0x243a10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243a10)" ( (binary_expression "pcVar16 + 0x243a10" identifier + number_literal) ))))) )) (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "FUN_001b05f0(iVar2);" (call_expression "FUN_001b05f0(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (labeled_statement "LAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }" statement_identifier : (if_statement "if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }" if (parenthesized_expression "(puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c))" ( (binary_expression "puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)" identifier == (cast_expression "(undefined4 *)**(int **)(pcVar16 + 0x243d4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcVar16 + 0x243d4c)" * (pointer_expression "*(int **)(pcVar16 + 0x243d4c)" * (cast_expression "(int **)(pcVar16 + 0x243d4c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243d4c)" ( (binary_expression "pcVar16 + 0x243d4c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) }))) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x243b80);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x243b80)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x243b80)" * (cast_expression "(code **)(pcVar16 + 0x243b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x243b80)" ( (binary_expression "pcVar16 + 0x243b80" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = puStack_13c;" (assignment_expression "puVar8 = puStack_13c" identifier = identifier) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }" { (if_statement "if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }" if (parenthesized_expression "(puVar8[0x1a] == -0x54535255)" ( (binary_expression "puVar8[0x1a] == -0x54535255" (subscript_expression "puVar8[0x1a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }" { (expression_statement "dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);" (assignment_expression "dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8)" identifier = (binary_expression "ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8)" (call_expression "ABS((double)CONCAT44(iVar12,iVar14))" identifier (argument_list "((double)CONCAT44(iVar12,iVar14))" ( (cast_expression "(double)CONCAT44(iVar12,iVar14)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(iVar12,iVar14)" identifier (argument_list "(iVar12,iVar14)" ( identifier , identifier )))) ))) / (pointer_expression "*(double *)(puVar8 + 8)" * (cast_expression "(double *)(puVar8 + 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 8)" ( (binary_expression "puVar8 + 8" identifier + number_literal) )))))) ;) (if_statement "if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }" if (parenthesized_expression "((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)))" ( (binary_expression "(*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))" (parenthesized_expression "(*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4))" ( (binary_expression "*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)" (pointer_expression "*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" * (cast_expression "(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" ( (binary_expression "*(int *)(pcVar17 + 0x242e9c) + 0x43c8" (pointer_expression "*(int *)(pcVar17 + 0x242e9c)" * (cast_expression "(int *)(pcVar17 + 0x242e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242e9c)" ( (binary_expression "pcVar17 + 0x242e9c" identifier + number_literal) )))) + number_literal) )))) <= (pointer_expression "*(double *)(puVar8 + 4)" * (cast_expression "(double *)(puVar8 + 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 4)" ( (binary_expression "puVar8 + 4" identifier + number_literal) ))))) )) && (parenthesized_expression "((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))" ( (binary_expression "(code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)" (cast_expression "(code *)puVar8[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ])) != (cast_expression "(code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar17 + 0x243118) + -0x24f0)" ( (binary_expression "*(int *)(pcVar17 + 0x243118) + -0x24f0" (pointer_expression "*(int *)(pcVar17 + 0x243118)" * (cast_expression "(int *)(pcVar17 + 0x243118)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x243118)" ( (binary_expression "pcVar17 + 0x243118" identifier + number_literal) )))) + number_literal) )))) ))) )) (compound_statement "{\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }" { (expression_statement "(*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));" (call_expression "(*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6))" (parenthesized_expression "(*(code *)puVar8[1])" ( (pointer_expression "*(code *)puVar8[1]" * (cast_expression "(code *)puVar8[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) )) (argument_list "(dVar21 * *(double *)(puVar8 + 6))" ( (binary_expression "dVar21 * *(double *)(puVar8 + 6)" identifier * (pointer_expression "*(double *)(puVar8 + 6)" * (cast_expression "(double *)(puVar8 + 6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 6)" ( (binary_expression "puVar8 + 6" identifier + number_literal) ))))) ))) ;) })) (expression_statement "iVar5 = (*(code *)*puVar8)(dVar21);" (assignment_expression "iVar5 = (*(code *)*puVar8)(dVar21)" identifier = (call_expression "(*(code *)*puVar8)(dVar21)" (parenthesized_expression "(*(code *)*puVar8)" ( (pointer_expression "*(code *)*puVar8" * (cast_expression "(code *)*puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) )) (argument_list "(dVar21)" ( identifier )))) ;) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" identifier = (call_expression "(**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" (parenthesized_expression "(**(code **)(pcVar17 + 0x243bdc))" ( (pointer_expression "**(code **)(pcVar17 + 0x243bdc)" * (pointer_expression "*(code **)(pcVar17 + 0x243bdc)" * (cast_expression "(code **)(pcVar17 + 0x243bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x243bdc)" ( (binary_expression "pcVar17 + 0x243bdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" ( (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d10" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" identifier = (call_expression "(**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x243bdc))" ( (pointer_expression "**(code **)(pcVar17 + 0x243bdc)" * (pointer_expression "*(code **)(pcVar17 + 0x243bdc)" * (cast_expression "(code **)(pcVar17 + 0x243bdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x243bdc)" ( (binary_expression "pcVar17 + 0x243bdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" ( (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d38" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" * (cast_expression "(int *)(pcVar17 + 0x242eb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x242eb4)" ( (binary_expression "pcVar17 + 0x242eb4" identifier + number_literal) )))) + number_literal) , (binary_expression "pcVar17 + 0x24ae6c" identifier + number_literal) )))) ;) (return_statement "return iVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 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 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 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 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 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 IDENT ;) (declaration TYPE (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ( IDENT , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (return_statement return 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 = 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 = (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) ))))) ;) (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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 * (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 (binary_expression IDENT / 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) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_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) ))))) )) (compound_statement { (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 = (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 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + 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) )))))) ;) (if_statement if (parenthesized_expression ( (binary_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) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_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) ))))) ))) | LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= (binary_expression IDENT * IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_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) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) / IDENT)) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (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 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 (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 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)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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) ;) (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 = (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 = (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 { (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 ( 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 * (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) )) (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 = LIT) ;)) (expression_statement (assignment_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 (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 ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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 * (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 (binary_expression IDENT / 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) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + 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) )))))) ;) (if_statement if (parenthesized_expression ( (binary_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) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_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) ))))) ))) | LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= (binary_expression IDENT * IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_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) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_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 (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) , IDENT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) / IDENT)) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (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 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 (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 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)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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) ;) (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 = (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 = (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 { (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 ( 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 * (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) )) (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 = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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) , (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 ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (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 ( ))) ;) (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 (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (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) )))) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( IDENT )))) ;) (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 ( (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) )))) ;) (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 ( (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) )))) ;) (return_statement return IDENT ;) })))
(function_definition "int FUN_001b5e94(int param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\n}" (primitive_type "int") (function_declarator "FUN_001b5e94(int param_1)" (identifier "FUN_001b5e94") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int extraout_v1;\n  int extraout_v1_00;\n  int extraout_v1_01;\n  int extraout_v1_02;\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  undefined *puVar4;\n  int iVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  double *pdVar10;\n  undefined4 uVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int unaff_s5;\n  undefined4 unaff_s7;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined4 unaff_s8;\n  code *pcVar17;\n  code *pcVar18;\n  double dVar19;\n  double dVar20;\n  double dVar21;\n  double dVar22;\n  double dVar23;\n  double dVar24;\n  undefined8 uVar25;\n  double dStack_188;\n  int iStack_180;\n  int *piStack_17c;\n  double dStack_178;\n  double dStack_170;\n  int iStack_168;\n  double *pdStack_164;\n  int iStack_160;\n  int iStack_15c;\n  undefined4 uStack_158;\n  undefined4 uStack_154;\n  int iStack_150;\n  int iStack_14c;\n  code *pcStack_148;\n  undefined4 *puStack_13c;\n  int iStack_138;\n  int iStack_134;\n  int *piStack_12c;\n  int iStack_128;\n  int iStack_124;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  code *pcStack_114;\n  double dStack_110;\n  double dStack_108;\n  double dStack_100;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  int iStack_e0;\n  int *piStack_dc;\n  code *pcStack_d8;\n  int iStack_d4;\n  double dStack_d0;\n  code *pcStack_c4;\n  double dStack_c0;\n  double dStack_b8;\n  int iStack_b0;\n  int *piStack_ac;\n  int iStack_a8;\n  undefined4 uStack_a0;\n  undefined4 uStack_9c;\n  int iStack_98;\n  int iStack_94;\n  int iStack_84;\n  undefined4 uStack_2c;\n  int iStack_1c;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }\n  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;\n  pcVar17 = FUN_001b5f20;\n  puVar15 = PTR___assert_fail_003fa620;\n  (*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }\n  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;\n  iVar12 = 0x64f;\n  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);\n  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;\n  pcVar16 = *(code **)(puVar15 + 0x244700);\n  (*pcVar16)();\n  pcStack_d8 = pcVar16 + 0x24b8fc;\n  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);\n  iStack_84 = **(int **)(pcVar16 + 0x244294);\n  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);\n  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);\n  if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }\n  dVar19 = (double)FUN_001b5f20(iVar5);\n  dVar19 = dVar23 * dVar19;\n  pdVar10 = (double *)0x1;\n  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }\n  iVar13 = iStack_1c;\n  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);\n  if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }\nLAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }\n  pcVar16 = *(code **)(pcStack_d8 + -0x7834);\n  pcVar18 = FUN_001b64fc;\n  iVar6 = iStack_84;\n  (*pcVar16)();\n  pcVar17 = pcStack_d8;\n  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);\n  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);\n  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }\n  iStack_138 = iVar2;\n  iStack_134 = iVar12;\n  piStack_12c = piVar9;\n  iStack_128 = iVar5;\n  iStack_124 = unaff_s5;\n  uStack_11c = unaff_s7;\n  uStack_118 = unaff_s8;\n  pcStack_114 = pcVar18;\n  dStack_110 = dVar23;\n  dStack_108 = dVar21;\n  dStack_100 = dVar19;\n  dVar21 = (double)FUN_001b5f20(iVar6);\n  dVar21 = dVar24 * dVar21;\n  uVar11 = 1;\n  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }\n  iVar12 = iStack_d4;\n  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);\n  if (iVar5 == 0) goto LAB_001b69e8;\n  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }\n  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);\n  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);\n  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);\n  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }\nLAB_001b6944:\n  pcStack_148 = pcVar17;\n  iStack_15c = iStack_d4;\n  piStack_17c = piStack_dc;\n  iStack_180 = iStack_e0;\n  iStack_14c = 1;\n  iVar14 = 0;\n  dStack_188 = dVar22;\n  dStack_178 = dVar24;\n  dStack_170 = dVar21;\n  iStack_168 = iVar6;\n  pdStack_164 = pdVar10;\n  iStack_160 = iVar13;\n  uStack_158 = uVar11;\n  uStack_154 = uVar3;\n  iStack_150 = iVar2;\n  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);\n  iVar5 = iStack_14c;\n  (**(code **)(pcVar16 + 0x243a10))(uVar3);\n  (**(code **)(pcVar16 + 0x243a10))(uVar11);\n  FUN_001b05f0(iVar2);\nLAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }\n  pcVar17 = *(code **)(pcVar16 + 0x243b80);\n  puVar8 = puStack_13c;\n  (*pcVar17)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }\n  iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);\n  return iVar5;\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 "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 "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 "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "double *pdVar10;" (primitive_type "double") (pointer_declarator "*pdVar10" (* "*") (identifier "pdVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int unaff_s5;" (primitive_type "int") (identifier "unaff_s5") (; ";")) (declaration "undefined4 unaff_s7;" (type_identifier "undefined4") (identifier "unaff_s7") (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "code *pcVar16;" (type_identifier "code") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "undefined4 unaff_s8;" (type_identifier "undefined4") (identifier "unaff_s8") (; ";")) (declaration "code *pcVar17;" (type_identifier "code") (pointer_declarator "*pcVar17" (* "*") (identifier "pcVar17")) (; ";")) (declaration "code *pcVar18;" (type_identifier "code") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "double dVar19;" (primitive_type "double") (identifier "dVar19") (; ";")) (declaration "double dVar20;" (primitive_type "double") (identifier "dVar20") (; ";")) (declaration "double dVar21;" (primitive_type "double") (identifier "dVar21") (; ";")) (declaration "double dVar22;" (primitive_type "double") (identifier "dVar22") (; ";")) (declaration "double dVar23;" (primitive_type "double") (identifier "dVar23") (; ";")) (declaration "double dVar24;" (primitive_type "double") (identifier "dVar24") (; ";")) (declaration "undefined8 uVar25;" (type_identifier "undefined8") (identifier "uVar25") (; ";")) (declaration "double dStack_188;" (primitive_type "double") (identifier "dStack_188") (; ";")) (declaration "int iStack_180;" (primitive_type "int") (identifier "iStack_180") (; ";")) (declaration "int *piStack_17c;" (primitive_type "int") (pointer_declarator "*piStack_17c" (* "*") (identifier "piStack_17c")) (; ";")) (declaration "double dStack_178;" (primitive_type "double") (identifier "dStack_178") (; ";")) (declaration "double dStack_170;" (primitive_type "double") (identifier "dStack_170") (; ";")) (declaration "int iStack_168;" (primitive_type "int") (identifier "iStack_168") (; ";")) (declaration "double *pdStack_164;" (primitive_type "double") (pointer_declarator "*pdStack_164" (* "*") (identifier "pdStack_164")) (; ";")) (declaration "int iStack_160;" (primitive_type "int") (identifier "iStack_160") (; ";")) (declaration "int iStack_15c;" (primitive_type "int") (identifier "iStack_15c") (; ";")) (declaration "undefined4 uStack_158;" (type_identifier "undefined4") (identifier "uStack_158") (; ";")) (declaration "undefined4 uStack_154;" (type_identifier "undefined4") (identifier "uStack_154") (; ";")) (declaration "int iStack_150;" (primitive_type "int") (identifier "iStack_150") (; ";")) (declaration "int iStack_14c;" (primitive_type "int") (identifier "iStack_14c") (; ";")) (declaration "code *pcStack_148;" (type_identifier "code") (pointer_declarator "*pcStack_148" (* "*") (identifier "pcStack_148")) (; ";")) (declaration "undefined4 *puStack_13c;" (type_identifier "undefined4") (pointer_declarator "*puStack_13c" (* "*") (identifier "puStack_13c")) (; ";")) (declaration "int iStack_138;" (primitive_type "int") (identifier "iStack_138") (; ";")) (declaration "int iStack_134;" (primitive_type "int") (identifier "iStack_134") (; ";")) (declaration "int *piStack_12c;" (primitive_type "int") (pointer_declarator "*piStack_12c" (* "*") (identifier "piStack_12c")) (; ";")) (declaration "int iStack_128;" (primitive_type "int") (identifier "iStack_128") (; ";")) (declaration "int iStack_124;" (primitive_type "int") (identifier "iStack_124") (; ";")) (declaration "undefined4 uStack_11c;" (type_identifier "undefined4") (identifier "uStack_11c") (; ";")) (declaration "undefined4 uStack_118;" (type_identifier "undefined4") (identifier "uStack_118") (; ";")) (declaration "code *pcStack_114;" (type_identifier "code") (pointer_declarator "*pcStack_114" (* "*") (identifier "pcStack_114")) (; ";")) (declaration "double dStack_110;" (primitive_type "double") (identifier "dStack_110") (; ";")) (declaration "double dStack_108;" (primitive_type "double") (identifier "dStack_108") (; ";")) (declaration "double dStack_100;" (primitive_type "double") (identifier "dStack_100") (; ";")) (declaration "undefined4 uStack_e8;" (type_identifier "undefined4") (identifier "uStack_e8") (; ";")) (declaration "int iStack_e4;" (primitive_type "int") (identifier "iStack_e4") (; ";")) (declaration "int iStack_e0;" (primitive_type "int") (identifier "iStack_e0") (; ";")) (declaration "int *piStack_dc;" (primitive_type "int") (pointer_declarator "*piStack_dc" (* "*") (identifier "piStack_dc")) (; ";")) (declaration "code *pcStack_d8;" (type_identifier "code") (pointer_declarator "*pcStack_d8" (* "*") (identifier "pcStack_d8")) (; ";")) (declaration "int iStack_d4;" (primitive_type "int") (identifier "iStack_d4") (; ";")) (declaration "double dStack_d0;" (primitive_type "double") (identifier "dStack_d0") (; ";")) (declaration "code *pcStack_c4;" (type_identifier "code") (pointer_declarator "*pcStack_c4" (* "*") (identifier "pcStack_c4")) (; ";")) (declaration "double dStack_c0;" (primitive_type "double") (identifier "dStack_c0") (; ";")) (declaration "double dStack_b8;" (primitive_type "double") (identifier "dStack_b8") (; ";")) (declaration "int iStack_b0;" (primitive_type "int") (identifier "iStack_b0") (; ";")) (declaration "int *piStack_ac;" (primitive_type "int") (pointer_declarator "*piStack_ac" (* "*") (identifier "piStack_ac")) (; ";")) (declaration "int iStack_a8;" (primitive_type "int") (identifier "iStack_a8") (; ";")) (declaration "undefined4 uStack_a0;" (type_identifier "undefined4") (identifier "uStack_a0") (; ";")) (declaration "undefined4 uStack_9c;" (type_identifier "undefined4") (identifier "uStack_9c") (; ";")) (declaration "int iStack_98;" (primitive_type "int") (identifier "iStack_98") (; ";")) (declaration "int iStack_94;" (primitive_type "int") (identifier "iStack_94") (; ";")) (declaration "int iStack_84;" (primitive_type "int") (identifier "iStack_84") (; ";")) (declaration "undefined4 uStack_2c;" (type_identifier "undefined4") (identifier "uStack_2c") (; ";")) (declaration "int iStack_1c;" (primitive_type "int") (identifier "iStack_1c") (; ";")) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }\n  else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003fa620" (* "*") (cast_expression "(code *)PTR___assert_fail_003fa620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003fa620"))) () ")")) (argument_list "(PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,\n               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (( "(") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "-0x2d38")) (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "-0x2d88")) (, ",") (number_literal "0x647") (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "-0x2360")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" (else "else") (if_statement "if (*(int *)(param_1 + 0x68) == -0x54535255) {\n    return *(int *)(param_1 + 100);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x68) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x68) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x68)" (* "*") (cast_expression "(int *)(param_1 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    return *(int *)(param_1 + 100);\n  }" ({ "{") (return_statement "return *(int *)(param_1 + 100);" (return "return") (pointer_expression "*(int *)(param_1 + 100)" (* "*") (cast_expression "(int *)(param_1 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (; ";")) (} "}"))))) (expression_statement "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;" (assignment_expression "puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" (identifier "puVar4") (= "=") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "-0x2d10"))) (; ";")) (expression_statement "pcVar17 = FUN_001b5f20;" (assignment_expression "pcVar17 = FUN_001b5f20" (identifier "pcVar17") (= "=") (identifier "FUN_001b5f20")) (; ";")) (expression_statement "puVar15 = PTR___assert_fail_003fa620;" (assignment_expression "puVar15 = PTR___assert_fail_003fa620" (identifier "puVar15") (= "=") (identifier "PTR___assert_fail_003fa620")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);" (call_expression "(*(code *)PTR___assert_fail_003fa620)\n            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (parenthesized_expression "(*(code *)PTR___assert_fail_003fa620)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003fa620" (* "*") (cast_expression "(code *)PTR___assert_fail_003fa620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003fa620"))) () ")")) (argument_list "(puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,\n             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360)" (( "(") (identifier "puVar4") (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "-0x2d88")) (, ",") (number_literal "0x648") (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "-0x2360")) () ")"))) (; ";")) (if_statement "if (puVar4 == (undefined *)0x0) {\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }\n  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" (if "if") (parenthesized_expression "(puVar4 == (undefined *)0x0)" (( "(") (binary_expression "puVar4 == (undefined *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);\n  }" ({ "{") (expression_statement "(**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378);" (call_expression "(**(code **)(puVar15 + 0x244700))\n              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378)" (parenthesized_expression "(**(code **)(puVar15 + 0x244700))" (( "(") (pointer_expression "**(code **)(puVar15 + 0x244700)" (* "*") (pointer_expression "*(code **)(puVar15 + 0x244700)" (* "*") (cast_expression "(code **)(puVar15 + 0x244700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x244700)" (( "(") (binary_expression "puVar15 + 0x244700" (identifier "puVar15") (+ "+") (number_literal "0x244700")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,\n               *(int *)(puVar15 + 0x2439d8) + -0x2378)" (( "(") (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d38" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" (* "*") (cast_expression "(int *)(puVar15 + 0x2439d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2439d8)" (( "(") (binary_expression "puVar15 + 0x2439d8" (identifier "puVar15") (+ "+") (number_literal "0x2439d8")) () ")")))) (+ "+") (number_literal "-0x2d38")) (, ",") (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" (* "*") (cast_expression "(int *)(puVar15 + 0x2439d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2439d8)" (( "(") (binary_expression "puVar15 + 0x2439d8" (identifier "puVar15") (+ "+") (number_literal "0x2439d8")) () ")")))) (+ "+") (number_literal "-0x2d88")) (, ",") (number_literal "0x64e") (, ",") (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" (* "*") (cast_expression "(int *)(puVar15 + 0x2439d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2439d8)" (( "(") (binary_expression "puVar15 + 0x2439d8" (identifier "puVar15") (+ "+") (number_literal "0x2439d8")) () ")")))) (+ "+") (number_literal "-0x2378")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" (else "else") (if_statement "if (*(int *)(puVar4 + 0x68) == -0x54535255) {\n    return -0x54535255;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar4 + 0x68) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar4 + 0x68) == -0x54535255" (pointer_expression "*(int *)(puVar4 + 0x68)" (* "*") (cast_expression "(int *)(puVar4 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x68)" (( "(") (binary_expression "puVar4 + 0x68" (identifier "puVar4") (+ "+") (number_literal "0x68")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    return -0x54535255;\n  }" ({ "{") (return_statement "return -0x54535255;" (return "return") (number_literal "-0x54535255") (; ";")) (} "}"))))) (expression_statement "iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;" (assignment_expression "iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378" (identifier "iVar14") (= "=") (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2378" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" (* "*") (cast_expression "(int *)(puVar15 + 0x2439d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2439d8)" (( "(") (binary_expression "puVar15 + 0x2439d8" (identifier "puVar15") (+ "+") (number_literal "0x2439d8")) () ")")))) (+ "+") (number_literal "-0x2378"))) (; ";")) (expression_statement "iVar12 = 0x64f;" (assignment_expression "iVar12 = 0x64f" (identifier "iVar12") (= "=") (number_literal "0x64f")) (; ";")) (expression_statement "piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);" (assignment_expression "piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" (identifier "piVar9") (= "=") (cast_expression "(int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x2439d8) + -0x2d88)" (( "(") (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d88" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" (* "*") (cast_expression "(int *)(puVar15 + 0x2439d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2439d8)" (( "(") (binary_expression "puVar15 + 0x2439d8" (identifier "puVar15") (+ "+") (number_literal "0x2439d8")) () ")")))) (+ "+") (number_literal "-0x2d88")) () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;" (assignment_expression "iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10" (identifier "iVar5") (= "=") (binary_expression "*(int *)(puVar15 + 0x2439d8) + -0x2d10" (pointer_expression "*(int *)(puVar15 + 0x2439d8)" (* "*") (cast_expression "(int *)(puVar15 + 0x2439d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x2439d8)" (( "(") (binary_expression "puVar15 + 0x2439d8" (identifier "puVar15") (+ "+") (number_literal "0x2439d8")) () ")")))) (+ "+") (number_literal "-0x2d10"))) (; ";")) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x244700);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x244700)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puVar15 + 0x244700)" (* "*") (cast_expression "(code **)(puVar15 + 0x244700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x244700)" (( "(") (binary_expression "puVar15 + 0x244700" (identifier "puVar15") (+ "+") (number_literal "0x244700")) () ")"))))) (; ";")) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_d8 = pcVar16 + 0x24b8fc;" (assignment_expression "pcStack_d8 = pcVar16 + 0x24b8fc" (identifier "pcStack_d8") (= "=") (binary_expression "pcVar16 + 0x24b8fc" (identifier "pcVar16") (+ "+") (number_literal "0x24b8fc"))) (; ";")) (expression_statement "dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);" (assignment_expression "dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c)" (identifier "dVar21") (= "=") (cast_expression "(double)CONCAT44(puVar15 + 0x24b990,uStack_2c)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(puVar15 + 0x24b990,uStack_2c)" (identifier "CONCAT44") (argument_list "(puVar15 + 0x24b990,uStack_2c)" (( "(") (binary_expression "puVar15 + 0x24b990" (identifier "puVar15") (+ "+") (number_literal "0x24b990")) (, ",") (identifier "uStack_2c") () ")"))))) (; ";")) (expression_statement "iStack_84 = **(int **)(pcVar16 + 0x244294);" (assignment_expression "iStack_84 = **(int **)(pcVar16 + 0x244294)" (identifier "iStack_84") (= "=") (pointer_expression "**(int **)(pcVar16 + 0x244294)" (* "*") (pointer_expression "*(int **)(pcVar16 + 0x244294)" (* "*") (cast_expression "(int **)(pcVar16 + 0x244294)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x244294)" (( "(") (binary_expression "pcVar16 + 0x244294" (identifier "pcVar16") (+ "+") (number_literal "0x244294")) () ")")))))) (; ";")) (expression_statement "dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);" (assignment_expression "dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x24392c) + 0x4408)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x24392c) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x24392c)" (* "*") (cast_expression "(int *)(pcVar16 + 0x24392c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x24392c)" (( "(") (binary_expression "pcVar16 + 0x24392c" (identifier "pcVar16") (+ "+") (number_literal "0x24392c")) () ")")))) (+ "+") (number_literal "0x4408")) () ")"))))) (; ";")) (expression_statement "dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);" (assignment_expression "dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" (identifier "dVar23") (= "=") (binary_expression "dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" (binary_expression "dVar19 / dVar21" (identifier "dVar19") (/ "/") (identifier "dVar21")) (+ "+") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x24392c) + 0x43c8)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x24392c) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x24392c)" (* "*") (cast_expression "(int *)(pcVar16 + 0x24392c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x24392c)" (( "(") (binary_expression "pcVar16 + 0x24392c" (identifier "pcVar16") (+ "+") (number_literal "0x24392c")) () ")")))) (+ "+") (number_literal "0x43c8")) () ")")))))) (; ";")) (if_statement "if (dVar23 <= dVar19) {\n    dVar23 = dVar19;\n  }" (if "if") (parenthesized_expression "(dVar23 <= dVar19)" (( "(") (binary_expression "dVar23 <= dVar19" (identifier "dVar23") (<= "<=") (identifier "dVar19")) () ")")) (compound_statement "{\n    dVar23 = dVar19;\n  }" ({ "{") (expression_statement "dVar23 = dVar19;" (assignment_expression "dVar23 = dVar19" (identifier "dVar23") (= "=") (identifier "dVar19")) (; ";")) (} "}"))) (expression_statement "dVar19 = (double)FUN_001b5f20(iVar5);" (assignment_expression "dVar19 = (double)FUN_001b5f20(iVar5)" (identifier "dVar19") (= "=") (cast_expression "(double)FUN_001b5f20(iVar5)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_001b5f20(iVar5)" (identifier "FUN_001b5f20") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))))) (; ";")) (expression_statement "dVar19 = dVar23 * dVar19;" (assignment_expression "dVar19 = dVar23 * dVar19" (identifier "dVar19") (= "=") (binary_expression "dVar23 * dVar19" (identifier "dVar23") (* "*") (identifier "dVar19"))) (; ";")) (expression_statement "pdVar10 = (double *)0x1;" (assignment_expression "pdVar10 = (double *)0x1" (identifier "pdVar10") (= "=") (cast_expression "(double *)0x1" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {\n    pdVar10 = (double *)*piVar9;\n  }" (if "if") (parenthesized_expression "(dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0))" (( "(") (binary_expression "dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (identifier "dVar19") (<= "<=") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x43d0")) () ")"))))) () ")")) (compound_statement "{\n    pdVar10 = (double *)*piVar9;\n  }" ({ "{") (expression_statement "pdVar10 = (double *)*piVar9;" (assignment_expression "pdVar10 = (double *)*piVar9" (identifier "pdVar10") (= "=") (cast_expression "(double *)*piVar9" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (} "}"))) (expression_statement "iVar13 = iStack_1c;" (assignment_expression "iVar13 = iStack_1c" (identifier "iVar13") (= "=") (identifier "iStack_1c")) (; ";")) (expression_statement "iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);" (assignment_expression "iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x7074))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7074))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x7074)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x7074)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x7074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7074)" (( "(") (binary_expression "pcStack_d8 + -0x7074" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7074")) () ")"))))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }\n    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);\n    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);\n    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);\n    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }\nLAB_001b63fc:\n    iStack_94 = 1;\n    iVar14 = 0;\n    pdVar10 = &dStack_d0;\n    dStack_d0 = dVar21;\n    pcStack_c4 = pcVar17;\n    dStack_c0 = dVar23;\n    dStack_b8 = dVar19;\n    iStack_b0 = iVar5;\n    piStack_ac = piVar9;\n    iStack_a8 = iVar12;\n    uStack_a0 = unaff_s7;\n    uStack_9c = unaff_s8;\n    iStack_98 = unaff_s5;\n    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);\n    iVar2 = iStack_94;\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);\n    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);\n    FUN_001b05f0(unaff_s5);\n  }" ({ "{") (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }\n    else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" (if "if") (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19)" (( "(") (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x43d0")) () ")")))) (<= "<=") (identifier "dVar19")) () ")")) (compound_statement "{\n      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);\n      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }\n      unaff_s5 = FUN_001b06c0(uVar7);\n      if (unaff_s5 == 0) goto LAB_001b6148;\n      if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }\n      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;\n      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);\n    }" ({ "{") (expression_statement "dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);" (assignment_expression "dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (identifier "dVar22") (= "=") (binary_expression "dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (binary_expression "dVar19 + dVar19" (identifier "dVar19") (+ "+") (identifier "dVar19")) (+ "+") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fcc)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fcc)" (( "(") (binary_expression "pcStack_d8 + -0x7fcc" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fcc")) () ")")))) (+ "+") (number_literal "-0xcc0")) () ")")))))) (; ";")) (if_statement "if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {\n        uVar7 = (uint)dVar22;\n      }\n      else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" (if "if") (parenthesized_expression "(dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" (( "(") (binary_expression "dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (identifier "dVar22") (< "<") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x43e0")) () ")"))))) () ")")) (compound_statement "{\n        uVar7 = (uint)dVar22;\n      }" ({ "{") (expression_statement "uVar7 = (uint)dVar22;" (assignment_expression "uVar7 = (uint)dVar22" (identifier "uVar7") (= "=") (cast_expression "(uint)dVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "dVar22"))) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" (else "else") (compound_statement "{\n        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;\n      }" ({ "{") (expression_statement "uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;" (assignment_expression "uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" (identifier "uVar7") (= "=") (binary_expression "(int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0))" (( "(") (binary_expression "dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (identifier "dVar22") (- "-") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x43e0")) () ")"))))) () ")"))) (| "|") (number_literal "0x80000000"))) (; ";")) (} "}")))) (expression_statement "unaff_s5 = FUN_001b06c0(uVar7);" (assignment_expression "unaff_s5 = FUN_001b06c0(uVar7)" (identifier "unaff_s5") (= "=") (call_expression "FUN_001b06c0(uVar7)" (identifier "FUN_001b06c0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (unaff_s5 == 0) goto LAB_001b6148;" (if "if") (parenthesized_expression "(unaff_s5 == 0)" (( "(") (binary_expression "unaff_s5 == 0" (identifier "unaff_s5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001b6148;" (goto "goto") (statement_identifier "LAB_001b6148") (; ";"))) (if_statement "if (dVar23 < 0.0) {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }\n      else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" (if "if") (parenthesized_expression "(dVar23 < 0.0)" (( "(") (binary_expression "dVar23 < 0.0" (identifier "dVar23") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);\n      }" ({ "{") (expression_statement "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);" (assignment_expression "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" (identifier "dVar22") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4418" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x4418")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" (else "else") (compound_statement "{\n        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\n      }" ({ "{") (expression_statement "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (identifier "dVar22") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x4408")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)\n      goto LAB_001b6340;" (if "if") (parenthesized_expression "(*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)" (( "(") (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x43c8")) () ")")))) (<= "<=") (binary_expression "dVar23 * dVar22" (identifier "dVar23") (* "*") (identifier "dVar22"))) () ")")) (goto_statement "goto LAB_001b6340;" (goto "goto") (statement_identifier "LAB_001b6340") (; ";"))) (expression_statement "dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);" (assignment_expression "dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (identifier "dVar23") (= "=") (binary_expression "dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (identifier "dVar22") (/ "/") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x43c8")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" (else "else") (compound_statement "{\n      unaff_s5 = FUN_001b06c0(4);\n      if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }\n      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);\nLAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;\n    }" ({ "{") (expression_statement "unaff_s5 = FUN_001b06c0(4);" (assignment_expression "unaff_s5 = FUN_001b06c0(4)" (identifier "unaff_s5") (= "=") (call_expression "FUN_001b06c0(4)" (identifier "FUN_001b06c0") (argument_list "(4)" (( "(") (number_literal "4") () ")")))) (; ";")) (if_statement "if (unaff_s5 == 0) {\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }" (if "if") (parenthesized_expression "(unaff_s5 == 0)" (( "(") (binary_expression "unaff_s5 == 0" (identifier "unaff_s5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001b6148:\n        piVar9 = piVar9 + 0xd0;\n        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;\n        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;\n        uStack_e8 = 400;\n        iVar14 = 0xdce;\n        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;\n        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);\n        piStack_dc = piVar9;\n        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);\n        iVar2 = 0;\n        goto LAB_001b64a0;\n      }" ({ "{") (labeled_statement "LAB_001b6148:\n        piVar9 = piVar9 + 0xd0;" (statement_identifier "LAB_001b6148") (: ":") (expression_statement "piVar9 = piVar9 + 0xd0;" (assignment_expression "piVar9 = piVar9 + 0xd0" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 0xd0" (identifier "piVar9") (+ "+") (number_literal "0xd0"))) (; ";"))) (expression_statement "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;" (assignment_expression "iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" (identifier "iStack_e0") (= "=") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x6e78" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x6e78"))) (; ";")) (expression_statement "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;" (assignment_expression "iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" (identifier "iStack_e4") (= "=") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x46c8" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x46c8"))) (; ";")) (expression_statement "uStack_e8 = 400;" (assignment_expression "uStack_e8 = 400" (identifier "uStack_e8") (= "=") (number_literal "400")) (; ";")) (expression_statement "iVar14 = 0xdce;" (assignment_expression "iVar14 = 0xdce" (identifier "iVar14") (= "=") (number_literal "0xdce")) (; ";")) (expression_statement "iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;" (assignment_expression "iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870" (identifier "iVar13") (= "=") (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2870" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fb8)" (( "(") (binary_expression "pcStack_d8 + -0x7fb8" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fb8")) () ")")))) (+ "+") (number_literal "-0x2870"))) (; ";")) (expression_statement "pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);" (assignment_expression "pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" (identifier "pdVar10") (= "=") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88" (pointer_expression "*(int *)(pcStack_d8 + -0x7fb8)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fb8)" (( "(") (binary_expression "pcStack_d8 + -0x7fb8" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fb8")) () ")")))) (+ "+") (number_literal "-0x2d88")) () ")")))) (; ";")) (expression_statement "piStack_dc = piVar9;" (assignment_expression "piStack_dc = piVar9" (identifier "piStack_dc") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);" (call_expression "(**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7978))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x7978)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x7978)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x7978)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7978)" (( "(") (binary_expression "pcStack_d8 + -0x7978" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7978")) () ")"))))) () ")")) (argument_list "(iStack_1c,pdVar10,iVar13,0xdce)" (( "(") (identifier "iStack_1c") (, ",") (identifier "pdVar10") (, ",") (identifier "iVar13") (, ",") (number_literal "0xdce") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001b64a0;" (goto "goto") (statement_identifier "LAB_001b64a0") (; ";")) (} "}"))) (expression_statement "dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);" (assignment_expression "dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x43d0")) () ")"))))) (; ";")) (expression_statement "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (identifier "dVar23") (= "=") (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x4408")) () ")"))))) (; ";")) (labeled_statement "LAB_001b6340:\n      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;" (statement_identifier "LAB_001b6340") (: ":") (expression_statement "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;" (assignment_expression "dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23" (identifier "dVar23") (= "=") (binary_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23" (pointer_expression "*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7fd0) + 0x4408" (pointer_expression "*(int *)(pcStack_d8 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7fd0)" (( "(") (binary_expression "pcStack_d8 + -0x7fd0" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x4408")) () ")")))) (/ "/") (identifier "dVar23"))) (; ";"))) (} "}")))) (expression_statement "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);" (assignment_expression "unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c)" (identifier "unaff_s7") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7144))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x7144)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x7144)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x7144)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7144)" (( "(") (binary_expression "pcStack_d8 + -0x7144" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7144")) () ")"))))) () ")")) (argument_list "(piVar9,iStack_1c)" (( "(") (identifier "piVar9") (, ",") (identifier "iStack_1c") () ")")))) (; ";")) (expression_statement "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);" (assignment_expression "unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c)" (identifier "unaff_s8") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79c4))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x79c4)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x79c4)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x79c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x79c4)" (( "(") (binary_expression "pcStack_d8 + -0x79c4" (identifier "pcStack_d8") (+ "+") (number_literal "-0x79c4")) () ")"))))) () ")")) (argument_list "(iVar12,iStack_1c)" (( "(") (identifier "iVar12") (, ",") (identifier "iStack_1c") () ")")))) (; ";")) (expression_statement "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x73e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x73e4)" (( "(") (binary_expression "pcStack_d8 + -0x73e4" (identifier "pcStack_d8") (+ "+") (number_literal "-0x73e4")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")")))) (; ";")) (if_statement "if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }\n    else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" (if "if") (parenthesized_expression "((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3))" (( "(") (binary_expression "(iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)" (parenthesized_expression "(iVar14 == 4)" (( "(") (binary_expression "iVar14 == 4" (identifier "iVar14") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)" (( "(") (comma_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(piVar9)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x73e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x73e4)" (( "(") (binary_expression "pcStack_d8 + -0x73e4" (identifier "pcStack_d8") (+ "+") (number_literal "-0x73e4")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")")))) (, ",") (binary_expression "iVar14 == 3" (identifier "iVar14") (== "==") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);\n      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;\n      (**(code **)(pcStack_d8 + -0x775c))(7);\n      iVar2 = *(int *)(iVar12 + 0x1c);\n      iVar14 = iVar2;\n      if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }\n      if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }\n      iVar13 = 1;\n      if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }\n    }" ({ "{") (expression_statement "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x73e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x73e4)" (( "(") (binary_expression "pcStack_d8 + -0x73e4" (identifier "pcStack_d8") (+ "+") (number_literal "-0x73e4")) () ")"))))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")")))) (; ";")) (if_statement "if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))\n      goto LAB_001b63c0;" (if "if") (parenthesized_expression "((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))" (( "(") (binary_expression "(iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3)" (parenthesized_expression "(iVar14 != 4)" (( "(") (binary_expression "iVar14 != 4" (identifier "iVar14") (!= "!=") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3)" (( "(") (comma_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3" (assignment_expression "iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x73e4))(iVar12)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x73e4))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x73e4)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x73e4)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x73e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x73e4)" (( "(") (binary_expression "pcStack_d8 + -0x73e4" (identifier "pcStack_d8") (+ "+") (number_literal "-0x73e4")) () ")"))))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")")))) (, ",") (binary_expression "iVar14 != 3" (identifier "iVar14") (!= "!=") (number_literal "3"))) () ")"))) () ")")) (goto_statement "goto LAB_001b63c0;" (goto "goto") (statement_identifier "LAB_001b63c0") (; ";"))) (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar12 + 0x1c);" (assignment_expression "iVar2 = *(int *)(iVar12 + 0x1c)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar12 + 0x1c)" (* "*") (cast_expression "(int *)(iVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x1c)" (( "(") (binary_expression "iVar12 + 0x1c" (identifier "iVar12") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar14 = iVar2;" (assignment_expression "iVar14 = iVar2" (identifier "iVar14") (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (iVar2 < 0) {\n        iVar14 = iVar2 + 0x3f;\n      }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar14 = iVar2 + 0x3f;\n      }" ({ "{") (expression_statement "iVar14 = iVar2 + 0x3f;" (assignment_expression "iVar14 = iVar2 + 0x3f" (identifier "iVar14") (= "=") (binary_expression "iVar2 + 0x3f" (identifier "iVar2") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (if_statement "if (extraout_v1 < iVar14 >> 6) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }\n      else {\n        bVar1 = iVar2 < 0x80;\n      }" (if "if") (parenthesized_expression "(extraout_v1 < iVar14 >> 6)" (( "(") (binary_expression "extraout_v1 < iVar14 >> 6" (identifier "extraout_v1") (< "<") (binary_expression "iVar14 >> 6" (identifier "iVar14") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        bVar1 = extraout_v1_01 < 2;\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "bVar1 = extraout_v1_01 < 2;" (assignment_expression "bVar1 = extraout_v1_01 < 2" (identifier "bVar1") (= "=") (binary_expression "extraout_v1_01 < 2" (identifier "extraout_v1_01") (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n        bVar1 = iVar2 < 0x80;\n      }" (else "else") (compound_statement "{\n        bVar1 = iVar2 < 0x80;\n      }" ({ "{") (expression_statement "bVar1 = iVar2 < 0x80;" (assignment_expression "bVar1 = iVar2 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar2 < 0x80" (identifier "iVar2") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\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_d8 + -0x775c))(7);\n        iVar13 = *(int *)(iVar12 + 0x1c);\n        if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }\n        iVar13 = iVar13 >> 6;\n        if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar13 = *(int *)(iVar12 + 0x1c);" (assignment_expression "iVar13 = *(int *)(iVar12 + 0x1c)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iVar12 + 0x1c)" (* "*") (cast_expression "(int *)(iVar12 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x1c)" (( "(") (binary_expression "iVar12 + 0x1c" (identifier "iVar12") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar13 < 0) {\n          iVar13 = iVar13 + 0x3f;\n        }" (if "if") (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar13 = iVar13 + 0x3f;\n        }" ({ "{") (expression_statement "iVar13 = iVar13 + 0x3f;" (assignment_expression "iVar13 = iVar13 + 0x3f" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 0x3f" (identifier "iVar13") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar13 = iVar13 >> 6;" (assignment_expression "iVar13 = iVar13 >> 6" (identifier "iVar13") (= "=") (binary_expression "iVar13 >> 6" (identifier "iVar13") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1_02 < iVar13) {\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }" (if "if") (parenthesized_expression "(extraout_v1_02 < iVar13)" (( "(") (binary_expression "extraout_v1_02 < iVar13" (identifier "extraout_v1_02") (< "<") (identifier "iVar13")) () ")")) (compound_statement "{\n          (**(code **)(pcStack_d8 + -0x775c))(7);\n          iVar13 = extraout_v1_03;\n        }" ({ "{") (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar13 = extraout_v1_03;" (assignment_expression "iVar13 = extraout_v1_03" (identifier "iVar13") (= "=") (identifier "extraout_v1_03")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" (else "else") (compound_statement "{\nLAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }\n      uVar25 = (*pcVar16)(7);\n      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }\n    }" ({ "{") (labeled_statement "LAB_001b63c0:\n      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" (statement_identifier "LAB_001b63c0") (: ":") (expression_statement "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7)" (identifier "uVar25") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";"))) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }\n      else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar25 < 2)" (( "(") (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);\n        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n        if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }\n      }" ({ "{") (expression_statement "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);" (assignment_expression "uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7)" (identifier "uVar25") (= "=") (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar25 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001b63dc;" (goto "goto") (statement_identifier "LAB_001b63dc") (; ";"))) (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x775c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar25 < 2) {\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }" (if "if") (parenthesized_expression "((uint)uVar25 < 2)" (( "(") (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          iVar13 = 1;\n          goto LAB_001b63fc;\n        }" ({ "{") (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_001b63fc;" (goto "goto") (statement_identifier "LAB_001b63fc") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" (else "else") (compound_statement "{\nLAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);\n      }" ({ "{") (labeled_statement "LAB_001b63dc:\n        pcVar16 = *(code **)(pcStack_d8 + -0x775c);" (statement_identifier "LAB_001b63dc") (: ":") (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x775c);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x775c)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar25 = (*pcVar16)(7);" (assignment_expression "uVar25 = (*pcVar16)(7)" (identifier "uVar25") (= "=") (call_expression "(*pcVar16)(7)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }\n      else {\n        iVar13 = 2;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar25 < 2)" (( "(") (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcStack_d8 + -0x775c))(7);\n        iVar13 = extraout_v1_00;\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_d8 + -0x775c))(7);" (call_expression "(**(code **)(pcStack_d8 + -0x775c))(7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x775c))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x775c)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x775c)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x775c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x775c)" (( "(") (binary_expression "pcStack_d8 + -0x775c" (identifier "pcStack_d8") (+ "+") (number_literal "-0x775c")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar13 = extraout_v1_00;" (assignment_expression "iVar13 = extraout_v1_00" (identifier "iVar13") (= "=") (identifier "extraout_v1_00")) (; ";")) (} "}")) (else_clause "else {\n        iVar13 = 2;\n      }" (else "else") (compound_statement "{\n        iVar13 = 2;\n      }" ({ "{") (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" (identifier "iVar13") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_001b63fc:\n    iStack_94 = 1;" (statement_identifier "LAB_001b63fc") (: ":") (expression_statement "iStack_94 = 1;" (assignment_expression "iStack_94 = 1" (identifier "iStack_94") (= "=") (number_literal "1")) (; ";"))) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "pdVar10 = &dStack_d0;" (assignment_expression "pdVar10 = &dStack_d0" (identifier "pdVar10") (= "=") (pointer_expression "&dStack_d0" (& "&") (identifier "dStack_d0"))) (; ";")) (expression_statement "dStack_d0 = dVar21;" (assignment_expression "dStack_d0 = dVar21" (identifier "dStack_d0") (= "=") (identifier "dVar21")) (; ";")) (expression_statement "pcStack_c4 = pcVar17;" (assignment_expression "pcStack_c4 = pcVar17" (identifier "pcStack_c4") (= "=") (identifier "pcVar17")) (; ";")) (expression_statement "dStack_c0 = dVar23;" (assignment_expression "dStack_c0 = dVar23" (identifier "dStack_c0") (= "=") (identifier "dVar23")) (; ";")) (expression_statement "dStack_b8 = dVar19;" (assignment_expression "dStack_b8 = dVar19" (identifier "dStack_b8") (= "=") (identifier "dVar19")) (; ";")) (expression_statement "iStack_b0 = iVar5;" (assignment_expression "iStack_b0 = iVar5" (identifier "iStack_b0") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "piStack_ac = piVar9;" (assignment_expression "piStack_ac = piVar9" (identifier "piStack_ac") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "iStack_a8 = iVar12;" (assignment_expression "iStack_a8 = iVar12" (identifier "iStack_a8") (= "=") (identifier "iVar12")) (; ";")) (expression_statement "uStack_a0 = unaff_s7;" (assignment_expression "uStack_a0 = unaff_s7" (identifier "uStack_a0") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "uStack_9c = unaff_s8;" (assignment_expression "uStack_9c = unaff_s8" (identifier "uStack_9c") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "iStack_98 = unaff_s5;" (assignment_expression "iStack_98 = unaff_s5" (identifier "iStack_98") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);" (call_expression "(**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x7700))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x7700)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x7700)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x7700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7700)" (( "(") (binary_expression "pcStack_d8 + -0x7700" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7700")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0)" (( "(") (binary_expression "*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c" (pointer_expression "*(int *)(pcStack_d8 + -0x7d54)" (* "*") (cast_expression "(int *)(pcStack_d8 + -0x7d54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7d54)" (( "(") (binary_expression "pcStack_d8 + -0x7d54" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7d54")) () ")")))) (+ "+") (number_literal "0x7c6c")) (, ",") (identifier "pdVar10") (, ",") (identifier "iVar13") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar2 = iStack_94;" (assignment_expression "iVar2 = iStack_94" (identifier "iVar2") (= "=") (identifier "iStack_94")) (; ";")) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x79a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x79a4)" (( "(") (binary_expression "pcStack_d8 + -0x79a4" (identifier "pcStack_d8") (+ "+") (number_literal "-0x79a4")) () ")"))))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);" (call_expression "(**(code **)(pcStack_d8 + -0x79a4))(unaff_s7)" (parenthesized_expression "(**(code **)(pcStack_d8 + -0x79a4))" (( "(") (pointer_expression "**(code **)(pcStack_d8 + -0x79a4)" (* "*") (pointer_expression "*(code **)(pcStack_d8 + -0x79a4)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x79a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x79a4)" (( "(") (binary_expression "pcStack_d8 + -0x79a4" (identifier "pcStack_d8") (+ "+") (number_literal "-0x79a4")) () ")"))))) () ")")) (argument_list "(unaff_s7)" (( "(") (identifier "unaff_s7") () ")"))) (; ";")) (expression_statement "FUN_001b05f0(unaff_s5);" (call_expression "FUN_001b05f0(unaff_s5)" (identifier "FUN_001b05f0") (argument_list "(unaff_s5)" (( "(") (identifier "unaff_s5") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_001b64a0:\n  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }" (statement_identifier "LAB_001b64a0") (: ":") (if_statement "if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(iStack_84 == **(int **)(pcStack_d8 + -0x7668))" (( "(") (binary_expression "iStack_84 == **(int **)(pcStack_d8 + -0x7668)" (identifier "iStack_84") (== "==") (pointer_expression "**(int **)(pcStack_d8 + -0x7668)" (* "*") (pointer_expression "*(int **)(pcStack_d8 + -0x7668)" (* "*") (cast_expression "(int **)(pcStack_d8 + -0x7668)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7668)" (( "(") (binary_expression "pcStack_d8 + -0x7668" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7668")) () ")")))))) () ")")) (compound_statement "{\n    return iVar2;\n  }" ({ "{") (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))) (expression_statement "pcVar16 = *(code **)(pcStack_d8 + -0x7834);" (assignment_expression "pcVar16 = *(code **)(pcStack_d8 + -0x7834)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcStack_d8 + -0x7834)" (* "*") (cast_expression "(code **)(pcStack_d8 + -0x7834)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_d8 + -0x7834)" (( "(") (binary_expression "pcStack_d8 + -0x7834" (identifier "pcStack_d8") (+ "+") (number_literal "-0x7834")) () ")"))))) (; ";")) (expression_statement "pcVar18 = FUN_001b64fc;" (assignment_expression "pcVar18 = FUN_001b64fc" (identifier "pcVar18") (= "=") (identifier "FUN_001b64fc")) (; ";")) (expression_statement "iVar6 = iStack_84;" (assignment_expression "iVar6 = iStack_84" (identifier "iVar6") (= "=") (identifier "iStack_84")) (; ";")) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar17 = pcStack_d8;" (assignment_expression "pcVar17 = pcStack_d8" (identifier "pcVar17") (= "=") (identifier "pcStack_d8")) (; ";")) (expression_statement "dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);" (assignment_expression "dVar22 = (double)CONCAT44(uStack_e8,iStack_e4)" (identifier "dVar22") (= "=") (cast_expression "(double)CONCAT44(uStack_e8,iStack_e4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(uStack_e8,iStack_e4)" (identifier "CONCAT44") (argument_list "(uStack_e8,iStack_e4)" (( "(") (identifier "uStack_e8") (, ",") (identifier "iStack_e4") () ")"))))) (; ";")) (expression_statement "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);" (assignment_expression "puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c)" (identifier "puStack_13c") (= "=") (cast_expression "(undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar16 + 0x243d4c)" (* "*") (pointer_expression "*(undefined4 **)(pcVar16 + 0x243d4c)" (* "*") (cast_expression "(undefined4 **)(pcVar16 + 0x243d4c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243d4c)" (( "(") (binary_expression "pcVar16 + 0x243d4c" (identifier "pcVar16") (+ "+") (number_literal "0x243d4c")) () ")"))))))) (; ";")) (expression_statement "dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (identifier "dVar20") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x4408")) () ")"))))) (; ";")) (expression_statement "dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (identifier "dVar24") (= "=") (binary_expression "dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (binary_expression "dVar20 / dVar22" (identifier "dVar20") (/ "/") (identifier "dVar22")) (+ "+") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43c8")) () ")")))))) (; ";")) (if_statement "if (dVar24 <= dVar20) {\n    dVar24 = dVar20;\n  }" (if "if") (parenthesized_expression "(dVar24 <= dVar20)" (( "(") (binary_expression "dVar24 <= dVar20" (identifier "dVar24") (<= "<=") (identifier "dVar20")) () ")")) (compound_statement "{\n    dVar24 = dVar20;\n  }" ({ "{") (expression_statement "dVar24 = dVar20;" (assignment_expression "dVar24 = dVar20" (identifier "dVar24") (= "=") (identifier "dVar20")) (; ";")) (} "}"))) (expression_statement "iStack_138 = iVar2;" (assignment_expression "iStack_138 = iVar2" (identifier "iStack_138") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "iStack_134 = iVar12;" (assignment_expression "iStack_134 = iVar12" (identifier "iStack_134") (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piStack_12c = piVar9;" (assignment_expression "piStack_12c = piVar9" (identifier "piStack_12c") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "iStack_128 = iVar5;" (assignment_expression "iStack_128 = iVar5" (identifier "iStack_128") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "iStack_124 = unaff_s5;" (assignment_expression "iStack_124 = unaff_s5" (identifier "iStack_124") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "uStack_11c = unaff_s7;" (assignment_expression "uStack_11c = unaff_s7" (identifier "uStack_11c") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "uStack_118 = unaff_s8;" (assignment_expression "uStack_118 = unaff_s8" (identifier "uStack_118") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_114 = pcVar18;" (assignment_expression "pcStack_114 = pcVar18" (identifier "pcStack_114") (= "=") (identifier "pcVar18")) (; ";")) (expression_statement "dStack_110 = dVar23;" (assignment_expression "dStack_110 = dVar23" (identifier "dStack_110") (= "=") (identifier "dVar23")) (; ";")) (expression_statement "dStack_108 = dVar21;" (assignment_expression "dStack_108 = dVar21" (identifier "dStack_108") (= "=") (identifier "dVar21")) (; ";")) (expression_statement "dStack_100 = dVar19;" (assignment_expression "dStack_100 = dVar19" (identifier "dStack_100") (= "=") (identifier "dVar19")) (; ";")) (expression_statement "dVar21 = (double)FUN_001b5f20(iVar6);" (assignment_expression "dVar21 = (double)FUN_001b5f20(iVar6)" (identifier "dVar21") (= "=") (cast_expression "(double)FUN_001b5f20(iVar6)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_001b5f20(iVar6)" (identifier "FUN_001b5f20") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (expression_statement "dVar21 = dVar24 * dVar21;" (assignment_expression "dVar21 = dVar24 * dVar21" (identifier "dVar21") (= "=") (binary_expression "dVar24 * dVar21" (identifier "dVar24") (* "*") (identifier "dVar21"))) (; ";")) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (if_statement "if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {\n    uVar11 = *(undefined4 *)pdVar10;\n  }" (if "if") (parenthesized_expression "(dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0))" (( "(") (binary_expression "dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (identifier "dVar21") (<= "<=") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43d0")) () ")"))))) () ")")) (compound_statement "{\n    uVar11 = *(undefined4 *)pdVar10;\n  }" ({ "{") (expression_statement "uVar11 = *(undefined4 *)pdVar10;" (assignment_expression "uVar11 = *(undefined4 *)pdVar10" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)pdVar10" (* "*") (cast_expression "(undefined4 *)pdVar10" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar10")))) (; ";")) (} "}"))) (expression_statement "iVar12 = iStack_d4;" (assignment_expression "iVar12 = iStack_d4" (identifier "iVar12") (= "=") (identifier "iStack_d4")) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x244340))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x244340)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x244340)" (* "*") (cast_expression "(code **)(pcVar16 + 0x244340)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x244340)" (( "(") (binary_expression "pcVar16 + 0x244340" (identifier "pcVar16") (+ "+") (number_literal "0x244340")) () ")"))))) () ")")) (argument_list "(iVar13,uVar11,iStack_d4)" (( "(") (identifier "iVar13") (, ",") (identifier "uVar11") (, ",") (identifier "iStack_d4") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) goto LAB_001b69e8;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001b69e8;" (goto "goto") (statement_identifier "LAB_001b69e8") (; ";"))) (if_statement "if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }\n  else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" (if "if") (parenthesized_expression "(*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21)" (( "(") (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43d0")) () ")")))) (<= "<=") (identifier "dVar21")) () ")")) (compound_statement "{\n    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);\n    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }\n    iVar2 = FUN_001b06c0(uVar7);\n    if (iVar2 == 0) goto LAB_001b6690;\n    if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }\n    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;\n    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);\n  }" ({ "{") (expression_statement "dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);" (assignment_expression "dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" (identifier "dVar23") (= "=") (binary_expression "dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" (binary_expression "dVar21 + dVar21" (identifier "dVar21") (+ "+") (identifier "dVar21")) (+ "+") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e8) + -0xcc0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e8) + -0xcc0" (pointer_expression "*(int *)(pcVar16 + 0x2433e8)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e8)" (( "(") (binary_expression "pcVar16 + 0x2433e8" (identifier "pcVar16") (+ "+") (number_literal "0x2433e8")) () ")")))) (+ "+") (number_literal "-0xcc0")) () ")")))))) (; ";")) (if_statement "if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {\n      uVar7 = (uint)dVar23;\n    }\n    else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" (if "if") (parenthesized_expression "(dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" (( "(") (binary_expression "dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (identifier "dVar23") (< "<") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43e0")) () ")"))))) () ")")) (compound_statement "{\n      uVar7 = (uint)dVar23;\n    }" ({ "{") (expression_statement "uVar7 = (uint)dVar23;" (assignment_expression "uVar7 = (uint)dVar23" (identifier "uVar7") (= "=") (cast_expression "(uint)dVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "dVar23"))) (; ";")) (} "}")) (else_clause "else {\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" (else "else") (compound_statement "{\n      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;\n    }" ({ "{") (expression_statement "uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;" (assignment_expression "uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000" (identifier "uVar7") (= "=") (binary_expression "(int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000" (cast_expression "(int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0))" (( "(") (binary_expression "dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (identifier "dVar23") (- "-") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43e0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43e0")) () ")"))))) () ")"))) (| "|") (number_literal "0x80000000"))) (; ";")) (} "}")))) (expression_statement "iVar2 = FUN_001b06c0(uVar7);" (assignment_expression "iVar2 = FUN_001b06c0(uVar7)" (identifier "iVar2") (= "=") (call_expression "FUN_001b06c0(uVar7)" (identifier "FUN_001b06c0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_001b6690;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001b6690;" (goto "goto") (statement_identifier "LAB_001b6690") (; ";"))) (if_statement "if (dVar24 < 0.0) {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }\n    else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" (if "if") (parenthesized_expression "(dVar24 < 0.0)" (( "(") (binary_expression "dVar24 < 0.0" (identifier "dVar24") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);\n    }" ({ "{") (expression_statement "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" (identifier "dVar23") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4418)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4418" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x4418")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" (else "else") (compound_statement "{\n      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\n    }" ({ "{") (expression_statement "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (identifier "dVar23") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x4408")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;" (if "if") (parenthesized_expression "(*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23)" (( "(") (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43c8")) () ")")))) (<= "<=") (binary_expression "dVar24 * dVar23" (identifier "dVar24") (* "*") (identifier "dVar23"))) () ")")) (goto_statement "goto LAB_001b6888;" (goto "goto") (statement_identifier "LAB_001b6888") (; ";"))) (expression_statement "dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);" (assignment_expression "dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (identifier "dVar24") (= "=") (binary_expression "dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (identifier "dVar23") (/ "/") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43c8)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43c8")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" (else "else") (compound_statement "{\n    iVar2 = FUN_001b06c0(4);\n    if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }\n    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);\nLAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;\n  }" ({ "{") (expression_statement "iVar2 = FUN_001b06c0(4);" (assignment_expression "iVar2 = FUN_001b06c0(4)" (identifier "iVar2") (= "=") (call_expression "FUN_001b06c0(4)" (identifier "FUN_001b06c0") (argument_list "(4)" (( "(") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001b6690:\n      iVar14 = 0xcf4;\n      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;\n      (**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);\n      iVar5 = 0;\n      goto LAB_001b69e8;\n    }" ({ "{") (labeled_statement "LAB_001b6690:\n      iVar14 = 0xcf4;" (statement_identifier "LAB_001b6690") (: ":") (expression_statement "iVar14 = 0xcf4;" (assignment_expression "iVar14 = 0xcf4" (identifier "iVar14") (= "=") (number_literal "0xcf4")) (; ";"))) (expression_statement "iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;" (assignment_expression "iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4" (identifier "iVar12") (= "=") (binary_expression "*(int *)(pcVar16 + 0x2433fc) + -0x28a4" (pointer_expression "*(int *)(pcVar16 + 0x2433fc)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433fc)" (( "(") (binary_expression "pcVar16 + 0x2433fc" (identifier "pcVar16") (+ "+") (number_literal "0x2433fc")) () ")")))) (+ "+") (number_literal "-0x28a4"))) (; ";")) (expression_statement "(**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68);" (call_expression "(**(code **)(pcVar16 + 0x243a3c))\n                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a3c))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243a3c)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243a3c)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243a3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243a3c)" (( "(") (binary_expression "pcVar16 + 0x243a3c" (identifier "pcVar16") (+ "+") (number_literal "0x243a3c")) () ")"))))) () ")")) (argument_list "(iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,\n                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,\n                 pdVar10 + 0x68)" (( "(") (identifier "iStack_d4") (, ",") (binary_expression "*(int *)(pcVar16 + 0x2433fc) + -0x2d88" (pointer_expression "*(int *)(pcVar16 + 0x2433fc)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433fc)" (( "(") (binary_expression "pcVar16 + 0x2433fc" (identifier "pcVar16") (+ "+") (number_literal "0x2433fc")) () ")")))) (+ "+") (number_literal "-0x2d88")) (, ",") (identifier "iVar12") (, ",") (number_literal "0xcf4") (, ",") (number_literal "400") (, ",") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x46c8" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x46c8")) (, ",") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x6e78" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x6e78")) (, ",") (binary_expression "pdVar10 + 0x68" (identifier "pdVar10") (+ "+") (number_literal "0x68")) () ")"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001b69e8;" (goto "goto") (statement_identifier "LAB_001b69e8") (; ";")) (} "}"))) (expression_statement "dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);" (assignment_expression "dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (identifier "dVar21") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x43d0" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x43d0")) () ")"))))) (; ";")) (expression_statement "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);" (assignment_expression "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (identifier "dVar24") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x4408")) () ")"))))) (; ";")) (labeled_statement "LAB_001b6888:\n    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;" (statement_identifier "LAB_001b6888") (: ":") (expression_statement "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;" (assignment_expression "dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24" (identifier "dVar24") (= "=") (binary_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24" (pointer_expression "*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (* "*") (cast_expression "(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar16 + 0x2433e4) + 0x4408)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x2433e4) + 0x4408" (pointer_expression "*(int *)(pcVar16 + 0x2433e4)" (* "*") (cast_expression "(int *)(pcVar16 + 0x2433e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x2433e4)" (( "(") (binary_expression "pcVar16 + 0x2433e4" (identifier "pcVar16") (+ "+") (number_literal "0x2433e4")) () ")")))) (+ "+") (number_literal "0x4408")) () ")")))) (/ "/") (identifier "dVar24"))) (; ";"))) (} "}")))) (expression_statement "uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);" (assignment_expression "uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4)" (identifier "uVar11") (= "=") (call_expression "(**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x244270))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x244270)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x244270)" (* "*") (cast_expression "(code **)(pcVar16 + 0x244270)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x244270)" (( "(") (binary_expression "pcVar16 + 0x244270" (identifier "pcVar16") (+ "+") (number_literal "0x244270")) () ")"))))) () ")")) (argument_list "(pdVar10,iStack_d4)" (( "(") (identifier "pdVar10") (, ",") (identifier "iStack_d4") () ")")))) (; ";")) (expression_statement "uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);" (assignment_expression "uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4)" (parenthesized_expression "(**(code **)(pcVar16 + 0x2439f0))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x2439f0)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x2439f0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x2439f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x2439f0)" (( "(") (binary_expression "pcVar16 + 0x2439f0" (identifier "pcVar16") (+ "+") (number_literal "0x2439f0")) () ")"))))) () ")")) (argument_list "(iVar13,iStack_d4)" (( "(") (identifier "iVar13") (, ",") (identifier "iStack_d4") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243fd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243fd0)" (( "(") (binary_expression "pcVar16 + 0x243fd0" (identifier "pcVar16") (+ "+") (number_literal "0x243fd0")) () ")"))))) () ")")) (argument_list "(pdVar10)" (( "(") (identifier "pdVar10") () ")")))) (; ";")) (if_statement "if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }\n  else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" (if "if") (parenthesized_expression "((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3))" (( "(") (binary_expression "(iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" (( "(") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)" (( "(") (comma_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar16 + 0x243fd0))(pdVar10)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243fd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243fd0)" (( "(") (binary_expression "pcVar16 + 0x243fd0" (identifier "pcVar16") (+ "+") (number_literal "0x243fd0")) () ")"))))) () ")")) (argument_list "(pdVar10)" (( "(") (identifier "pdVar10") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);\n    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;\n    (**(code **)(pcVar16 + 0x243c58))(7);\n    iVar12 = *(int *)(iVar13 + 0x18);\n    iVar5 = iVar12;\n    if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }\n    if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }\n    iVar12 = 1;\n    if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar16 + 0x243fd0))(iVar13)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243fd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243fd0)" (( "(") (binary_expression "pcVar16 + 0x243fd0" (identifier "pcVar16") (+ "+") (number_literal "0x243fd0")) () ")"))))) () ")")) (argument_list "(iVar13)" (( "(") (identifier "iVar13") () ")")))) (; ";")) (if_statement "if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))\n    goto LAB_001b6908;" (if "if") (parenthesized_expression "((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))" (( "(") (binary_expression "(iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3)" (parenthesized_expression "(iVar5 != 4)" (( "(") (binary_expression "iVar5 != 4" (identifier "iVar5") (!= "!=") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3)" (( "(") (comma_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3" (assignment_expression "iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar16 + 0x243fd0))(iVar13)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243fd0))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243fd0)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243fd0)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243fd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243fd0)" (( "(") (binary_expression "pcVar16 + 0x243fd0" (identifier "pcVar16") (+ "+") (number_literal "0x243fd0")) () ")"))))) () ")")) (argument_list "(iVar13)" (( "(") (identifier "iVar13") () ")")))) (, ",") (binary_expression "iVar5 != 3" (identifier "iVar5") (!= "!=") (number_literal "3"))) () ")"))) () ")")) (goto_statement "goto LAB_001b6908;" (goto "goto") (statement_identifier "LAB_001b6908") (; ";"))) (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243c58)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar13 + 0x18)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar13 + 0x18)" (* "*") (cast_expression "(int *)(iVar13 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x18)" (( "(") (binary_expression "iVar13 + 0x18" (identifier "iVar13") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar5 = iVar12;" (assignment_expression "iVar5 = iVar12" (identifier "iVar5") (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (iVar12 < 0) {\n      iVar5 = iVar12 + 0x3f;\n    }" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = iVar12 + 0x3f;\n    }" ({ "{") (expression_statement "iVar5 = iVar12 + 0x3f;" (assignment_expression "iVar5 = iVar12 + 0x3f" (identifier "iVar5") (= "=") (binary_expression "iVar12 + 0x3f" (identifier "iVar12") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (if_statement "if (extraout_v1_04 < iVar5 >> 6) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }\n    else {\n      bVar1 = iVar12 < 0x80;\n    }" (if "if") (parenthesized_expression "(extraout_v1_04 < iVar5 >> 6)" (( "(") (binary_expression "extraout_v1_04 < iVar5 >> 6" (identifier "extraout_v1_04") (< "<") (binary_expression "iVar5 >> 6" (identifier "iVar5") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      bVar1 = extraout_v1_06 < 2;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243c58)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) () ")")) (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 = iVar12 < 0x80;\n    }" (else "else") (compound_statement "{\n      bVar1 = iVar12 < 0x80;\n    }" ({ "{") (expression_statement "bVar1 = iVar12 < 0x80;" (assignment_expression "bVar1 = iVar12 < 0x80" (identifier "bVar1") (= "=") (binary_expression "iVar12 < 0x80" (identifier "iVar12") (< "<") (number_literal "0x80"))) (; ";")) (} "}")))) (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" (identifier "iVar12") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((bool)(bVar1 ^ 1)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\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 **)(pcVar16 + 0x243c58))(7);\n      iVar12 = *(int *)(iVar13 + 0x18);\n      if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }\n      iVar12 = iVar12 >> 6;\n      if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }\n    }" ({ "{") (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243c58)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar13 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar13 + 0x18)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar13 + 0x18)" (* "*") (cast_expression "(int *)(iVar13 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x18)" (( "(") (binary_expression "iVar13 + 0x18" (identifier "iVar13") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar12 < 0) {\n        iVar12 = iVar12 + 0x3f;\n      }" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar12 = iVar12 + 0x3f;\n      }" ({ "{") (expression_statement "iVar12 = iVar12 + 0x3f;" (assignment_expression "iVar12 = iVar12 + 0x3f" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 0x3f" (identifier "iVar12") (+ "+") (number_literal "0x3f"))) (; ";")) (} "}"))) (expression_statement "iVar12 = iVar12 >> 6;" (assignment_expression "iVar12 = iVar12 >> 6" (identifier "iVar12") (= "=") (binary_expression "iVar12 >> 6" (identifier "iVar12") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (extraout_v1_07 < iVar12) {\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }" (if "if") (parenthesized_expression "(extraout_v1_07 < iVar12)" (( "(") (binary_expression "extraout_v1_07 < iVar12" (identifier "extraout_v1_07") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\n        (**(code **)(pcVar16 + 0x243c58))(7);\n        iVar12 = extraout_v1_08;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243c58)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar12 = extraout_v1_08;" (assignment_expression "iVar12 = extraout_v1_08" (identifier "iVar12") (= "=") (identifier "extraout_v1_08")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" (else "else") (compound_statement "{\nLAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }\n    uVar25 = (*pcVar18)(7);\n    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }\n  }" ({ "{") (labeled_statement "LAB_001b6908:\n    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" (statement_identifier "LAB_001b6908") (: ":") (expression_statement "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" (assignment_expression "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7)" (identifier "uVar25") (= "=") (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243c58)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";"))) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }\n    else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar25 < 2)" (( "(") (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);\n      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n      if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }\n    }" ({ "{") (expression_statement "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);" (assignment_expression "uVar25 = (**(code **)(pcVar16 + 0x243c58))(7)" (identifier "uVar25") (= "=") (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243c58)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;" (if "if") (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar25 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001b6924;" (goto "goto") (statement_identifier "LAB_001b6924") (; ";"))) (expression_statement "pcVar18 = *(code **)(pcVar16 + 0x243c58);" (assignment_expression "pcVar18 = *(code **)(pcVar16 + 0x243c58)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) (; ";")) (if_statement "if ((uint)uVar25 < 2) {\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }" (if "if") (parenthesized_expression "((uint)uVar25 < 2)" (( "(") (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        iVar12 = 1;\n        goto LAB_001b6944;\n      }" ({ "{") (expression_statement "iVar12 = 1;" (assignment_expression "iVar12 = 1" (identifier "iVar12") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_001b6944;" (goto "goto") (statement_identifier "LAB_001b6944") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" (else "else") (compound_statement "{\nLAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);\n    }" ({ "{") (labeled_statement "LAB_001b6924:\n      pcVar18 = *(code **)(pcVar16 + 0x243c58);" (statement_identifier "LAB_001b6924") (: ":") (expression_statement "pcVar18 = *(code **)(pcVar16 + 0x243c58);" (assignment_expression "pcVar18 = *(code **)(pcVar16 + 0x243c58)" (identifier "pcVar18") (= "=") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar25 = (*pcVar18)(7);" (assignment_expression "uVar25 = (*pcVar18)(7)" (identifier "uVar25") (= "=") (call_expression "(*pcVar18)(7)" (parenthesized_expression "(*pcVar18)" (( "(") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }\n    else {\n      iVar12 = 2;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)" (parenthesized_expression "((int)((ulonglong)uVar25 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar25 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar25 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar25 >> 0x20" (cast_expression "(ulonglong)uVar25" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar25")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar25 < 2)" (( "(") (binary_expression "(uint)uVar25 < 2" (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar16 + 0x243c58))(7);\n      iVar12 = extraout_v1_05;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar16 + 0x243c58))(7);" (call_expression "(**(code **)(pcVar16 + 0x243c58))(7)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243c58))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243c58)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243c58)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243c58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243c58)" (( "(") (binary_expression "pcVar16 + 0x243c58" (identifier "pcVar16") (+ "+") (number_literal "0x243c58")) () ")"))))) () ")")) (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (expression_statement "iVar12 = extraout_v1_05;" (assignment_expression "iVar12 = extraout_v1_05" (identifier "iVar12") (= "=") (identifier "extraout_v1_05")) (; ";")) (} "}")) (else_clause "else {\n      iVar12 = 2;\n    }" (else "else") (compound_statement "{\n      iVar12 = 2;\n    }" ({ "{") (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" (identifier "iVar12") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_001b6944:\n  pcStack_148 = pcVar17;" (statement_identifier "LAB_001b6944") (: ":") (expression_statement "pcStack_148 = pcVar17;" (assignment_expression "pcStack_148 = pcVar17" (identifier "pcStack_148") (= "=") (identifier "pcVar17")) (; ";"))) (expression_statement "iStack_15c = iStack_d4;" (assignment_expression "iStack_15c = iStack_d4" (identifier "iStack_15c") (= "=") (identifier "iStack_d4")) (; ";")) (expression_statement "piStack_17c = piStack_dc;" (assignment_expression "piStack_17c = piStack_dc" (identifier "piStack_17c") (= "=") (identifier "piStack_dc")) (; ";")) (expression_statement "iStack_180 = iStack_e0;" (assignment_expression "iStack_180 = iStack_e0" (identifier "iStack_180") (= "=") (identifier "iStack_e0")) (; ";")) (expression_statement "iStack_14c = 1;" (assignment_expression "iStack_14c = 1" (identifier "iStack_14c") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "dStack_188 = dVar22;" (assignment_expression "dStack_188 = dVar22" (identifier "dStack_188") (= "=") (identifier "dVar22")) (; ";")) (expression_statement "dStack_178 = dVar24;" (assignment_expression "dStack_178 = dVar24" (identifier "dStack_178") (= "=") (identifier "dVar24")) (; ";")) (expression_statement "dStack_170 = dVar21;" (assignment_expression "dStack_170 = dVar21" (identifier "dStack_170") (= "=") (identifier "dVar21")) (; ";")) (expression_statement "iStack_168 = iVar6;" (assignment_expression "iStack_168 = iVar6" (identifier "iStack_168") (= "=") (identifier "iVar6")) (; ";")) (expression_statement "pdStack_164 = pdVar10;" (assignment_expression "pdStack_164 = pdVar10" (identifier "pdStack_164") (= "=") (identifier "pdVar10")) (; ";")) (expression_statement "iStack_160 = iVar13;" (assignment_expression "iStack_160 = iVar13" (identifier "iStack_160") (= "=") (identifier "iVar13")) (; ";")) (expression_statement "uStack_158 = uVar11;" (assignment_expression "uStack_158 = uVar11" (identifier "uStack_158") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "uStack_154 = uVar3;" (assignment_expression "uStack_154 = uVar3" (identifier "uStack_154") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "iStack_150 = iVar2;" (assignment_expression "iStack_150 = iVar2" (identifier "iStack_150") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "(**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);" (call_expression "(**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243cb4))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243cb4)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243cb4)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243cb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243cb4)" (( "(") (binary_expression "pcVar16 + 0x243cb4" (identifier "pcVar16") (+ "+") (number_literal "0x243cb4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0)" (( "(") (binary_expression "*(int *)(pcVar16 + 0x243678) + -0x7bac" (pointer_expression "*(int *)(pcVar16 + 0x243678)" (* "*") (cast_expression "(int *)(pcVar16 + 0x243678)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0x243678)" (( "(") (binary_expression "pcVar16 + 0x243678" (identifier "pcVar16") (+ "+") (number_literal "0x243678")) () ")")))) (+ "+") (number_literal "-0x7bac")) (, ",") (pointer_expression "&dStack_188" (& "&") (identifier "dStack_188")) (, ",") (identifier "iVar12") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar5 = iStack_14c;" (assignment_expression "iVar5 = iStack_14c" (identifier "iVar5") (= "=") (identifier "iStack_14c")) (; ";")) (expression_statement "(**(code **)(pcVar16 + 0x243a10))(uVar3);" (call_expression "(**(code **)(pcVar16 + 0x243a10))(uVar3)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a10))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243a10)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243a10)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243a10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243a10)" (( "(") (binary_expression "pcVar16 + 0x243a10" (identifier "pcVar16") (+ "+") (number_literal "0x243a10")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar16 + 0x243a10))(uVar11);" (call_expression "(**(code **)(pcVar16 + 0x243a10))(uVar11)" (parenthesized_expression "(**(code **)(pcVar16 + 0x243a10))" (( "(") (pointer_expression "**(code **)(pcVar16 + 0x243a10)" (* "*") (pointer_expression "*(code **)(pcVar16 + 0x243a10)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243a10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243a10)" (( "(") (binary_expression "pcVar16 + 0x243a10" (identifier "pcVar16") (+ "+") (number_literal "0x243a10")) () ")"))))) () ")")) (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "FUN_001b05f0(iVar2);" (call_expression "FUN_001b05f0(iVar2)" (identifier "FUN_001b05f0") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (labeled_statement "LAB_001b69e8:\n  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }" (statement_identifier "LAB_001b69e8") (: ":") (if_statement "if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {\n    return iVar5;\n  }" (if "if") (parenthesized_expression "(puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c))" (( "(") (binary_expression "puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)" (identifier "puStack_13c") (== "==") (cast_expression "(undefined4 *)**(int **)(pcVar16 + 0x243d4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(pcVar16 + 0x243d4c)" (* "*") (pointer_expression "*(int **)(pcVar16 + 0x243d4c)" (* "*") (cast_expression "(int **)(pcVar16 + 0x243d4c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243d4c)" (( "(") (binary_expression "pcVar16 + 0x243d4c" (identifier "pcVar16") (+ "+") (number_literal "0x243d4c")) () ")"))))))) () ")")) (compound_statement "{\n    return iVar5;\n  }" ({ "{") (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}")))) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x243b80);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x243b80)" (identifier "pcVar17") (= "=") (pointer_expression "*(code **)(pcVar16 + 0x243b80)" (* "*") (cast_expression "(code **)(pcVar16 + 0x243b80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 0x243b80)" (( "(") (binary_expression "pcVar16 + 0x243b80" (identifier "pcVar16") (+ "+") (number_literal "0x243b80")) () ")"))))) (; ";")) (expression_statement "puVar8 = puStack_13c;" (assignment_expression "puVar8 = puStack_13c" (identifier "puVar8") (= "=") (identifier "puStack_13c")) (; ";")) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" (( "(") (pointer_expression "*pcVar17" (* "*") (identifier "pcVar17")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }\n    iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);\n    return iVar5;\n  }" ({ "{") (if_statement "if (puVar8[0x1a] == -0x54535255) {\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }" (if "if") (parenthesized_expression "(puVar8[0x1a] == -0x54535255)" (( "(") (binary_expression "puVar8[0x1a] == -0x54535255" (subscript_expression "puVar8[0x1a]" (identifier "puVar8") ([ "[") (number_literal "0x1a") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);\n      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }\n      iVar5 = (*(code *)*puVar8)(dVar21);\n      return iVar5;\n    }" ({ "{") (expression_statement "dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);" (assignment_expression "dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8)" (identifier "dVar21") (= "=") (binary_expression "ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8)" (call_expression "ABS((double)CONCAT44(iVar12,iVar14))" (identifier "ABS") (argument_list "((double)CONCAT44(iVar12,iVar14))" (( "(") (cast_expression "(double)CONCAT44(iVar12,iVar14)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(iVar12,iVar14)" (identifier "CONCAT44") (argument_list "(iVar12,iVar14)" (( "(") (identifier "iVar12") (, ",") (identifier "iVar14") () ")")))) () ")"))) (/ "/") (pointer_expression "*(double *)(puVar8 + 8)" (* "*") (cast_expression "(double *)(puVar8 + 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 8)" (( "(") (binary_expression "puVar8 + 8" (identifier "puVar8") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }" (if "if") (parenthesized_expression "((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)))" (( "(") (binary_expression "(*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&\n         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))" (parenthesized_expression "(*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4))" (( "(") (binary_expression "*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)" (pointer_expression "*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar17 + 0x242e9c) + 0x43c8)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x242e9c) + 0x43c8" (pointer_expression "*(int *)(pcVar17 + 0x242e9c)" (* "*") (cast_expression "(int *)(pcVar17 + 0x242e9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x242e9c)" (( "(") (binary_expression "pcVar17 + 0x242e9c" (identifier "pcVar17") (+ "+") (number_literal "0x242e9c")) () ")")))) (+ "+") (number_literal "0x43c8")) () ")")))) (<= "<=") (pointer_expression "*(double *)(puVar8 + 4)" (* "*") (cast_expression "(double *)(puVar8 + 4)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 4)" (( "(") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))" (( "(") (binary_expression "(code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)" (cast_expression "(code *)puVar8[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (cast_expression "(code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar17 + 0x243118) + -0x24f0)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x243118) + -0x24f0" (pointer_expression "*(int *)(pcVar17 + 0x243118)" (* "*") (cast_expression "(int *)(pcVar17 + 0x243118)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x243118)" (( "(") (binary_expression "pcVar17 + 0x243118" (identifier "pcVar17") (+ "+") (number_literal "0x243118")) () ")")))) (+ "+") (number_literal "-0x24f0")) () ")")))) () ")"))) () ")")) (compound_statement "{\n        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));\n      }" ({ "{") (expression_statement "(*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));" (call_expression "(*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6))" (parenthesized_expression "(*(code *)puVar8[1])" (( "(") (pointer_expression "*(code *)puVar8[1]" (* "*") (cast_expression "(code *)puVar8[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")))) () ")")) (argument_list "(dVar21 * *(double *)(puVar8 + 6))" (( "(") (binary_expression "dVar21 * *(double *)(puVar8 + 6)" (identifier "dVar21") (* "*") (pointer_expression "*(double *)(puVar8 + 6)" (* "*") (cast_expression "(double *)(puVar8 + 6)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 6)" (( "(") (binary_expression "puVar8 + 6" (identifier "puVar8") (+ "+") (number_literal "6")) () ")"))))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = (*(code *)*puVar8)(dVar21);" (assignment_expression "iVar5 = (*(code *)*puVar8)(dVar21)" (identifier "iVar5") (= "=") (call_expression "(*(code *)*puVar8)(dVar21)" (parenthesized_expression "(*(code *)*puVar8)" (( "(") (pointer_expression "*(code *)*puVar8" (* "*") (cast_expression "(code *)*puVar8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) () ")")) (argument_list "(dVar21)" (( "(") (identifier "dVar21") () ")")))) (; ";")) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar17 + 0x243bdc))\n                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" (parenthesized_expression "(**(code **)(pcVar17 + 0x243bdc))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x243bdc)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x243bdc)" (* "*") (cast_expression "(code **)(pcVar17 + 0x243bdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x243bdc)" (( "(") (binary_expression "pcVar17 + 0x243bdc" (identifier "pcVar17") (+ "+") (number_literal "0x243bdc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88\n                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d10" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" (* "*") (cast_expression "(int *)(pcVar17 + 0x242eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x242eb4)" (( "(") (binary_expression "pcVar17 + 0x242eb4" (identifier "pcVar17") (+ "+") (number_literal "0x242eb4")) () ")")))) (+ "+") (number_literal "-0x2d10")) (, ",") (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" (* "*") (cast_expression "(int *)(pcVar17 + 0x242eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x242eb4)" (( "(") (binary_expression "pcVar17 + 0x242eb4" (identifier "pcVar17") (+ "+") (number_literal "0x242eb4")) () ")")))) (+ "+") (number_literal "-0x2d88")) (, ",") (number_literal "0x67a") (, ",") (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" (* "*") (cast_expression "(int *)(pcVar17 + 0x242eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x242eb4)" (( "(") (binary_expression "pcVar17 + 0x242eb4" (identifier "pcVar17") (+ "+") (number_literal "0x242eb4")) () ")")))) (+ "+") (number_literal "-0x2390")) () ")")))) (; ";")) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);" (assignment_expression "iVar5 = (**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar17 + 0x243bdc))\n                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" (parenthesized_expression "(**(code **)(pcVar17 + 0x243bdc))" (( "(") (pointer_expression "**(code **)(pcVar17 + 0x243bdc)" (* "*") (pointer_expression "*(code **)(pcVar17 + 0x243bdc)" (* "*") (cast_expression "(code **)(pcVar17 + 0x243bdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar17 + 0x243bdc)" (( "(") (binary_expression "pcVar17 + 0x243bdc" (identifier "pcVar17") (+ "+") (number_literal "0x243bdc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,\n                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c)" (( "(") (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d38" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" (* "*") (cast_expression "(int *)(pcVar17 + 0x242eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x242eb4)" (( "(") (binary_expression "pcVar17 + 0x242eb4" (identifier "pcVar17") (+ "+") (number_literal "0x242eb4")) () ")")))) (+ "+") (number_literal "-0x2d38")) (, ",") (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2d88" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" (* "*") (cast_expression "(int *)(pcVar17 + 0x242eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x242eb4)" (( "(") (binary_expression "pcVar17 + 0x242eb4" (identifier "pcVar17") (+ "+") (number_literal "0x242eb4")) () ")")))) (+ "+") (number_literal "-0x2d88")) (, ",") (number_literal "0x679") (, ",") (binary_expression "*(int *)(pcVar17 + 0x242eb4) + -0x2390" (pointer_expression "*(int *)(pcVar17 + 0x242eb4)" (* "*") (cast_expression "(int *)(pcVar17 + 0x242eb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar17 + 0x242eb4)" (( "(") (binary_expression "pcVar17 + 0x242eb4" (identifier "pcVar17") (+ "+") (number_literal "0x242eb4")) () ")")))) (+ "+") (number_literal "-0x2390")) (, ",") (binary_expression "pcVar17 + 0x24ae6c" (identifier "pcVar17") (+ "+") (number_literal "0x24ae6c")) () ")")))) (; ";")) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) 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: (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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (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: (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: (type_identifier) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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: (primitive_type) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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 (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (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: (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: (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))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_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: (pointer_expression argument: (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))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_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: (type_identifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) alternative: (else_clause (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)))))))))) (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: (pointer_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: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_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: (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) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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))))))) (labeled_statement label: (statement_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (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: (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 (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: (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: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (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 (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: (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: (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: (number_literal)))) (expression_statement (assignment_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 (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)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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 (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))))) (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: (binary_expression left: (identifier) right: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_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: (type_identifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) alternative: (else_clause (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)))))))))) (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: (pointer_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: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (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)) (identifier) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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))))))) (labeled_statement label: (statement_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (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: (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 (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: (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: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (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 (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: (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: (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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)) (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)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) 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))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (pointer_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) 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)))))))) 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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (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: (pointer_expression argument: (identifier))))) arguments: (argument_list (identifier))))) (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 (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)))))) (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 (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)))))) (return_statement (identifier)))))

int MASKED(int param_1)

{
  bool bVar1;
  int iVar2;
  undefined4 uVar3;
  int extraout_v1;
  int extraout_v1_00;
  int extraout_v1_01;
  int extraout_v1_02;
  int extraout_v1_03;
  int extraout_v1_04;
  int extraout_v1_05;
  int extraout_v1_06;
  int extraout_v1_07;
  int extraout_v1_08;
  undefined *puVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  undefined4 *puVar8;
  int *piVar9;
  double *pdVar10;
  undefined4 uVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int unaff_s5;
  undefined4 unaff_s7;
  undefined *puVar15;
  code *pcVar16;
  undefined4 unaff_s8;
  code *pcVar17;
  code *pcVar18;
  double dVar19;
  double dVar20;
  double dVar21;
  double dVar22;
  double dVar23;
  double dVar24;
  undefined8 uVar25;
  double dStack_188;
  int iStack_180;
  int *piStack_17c;
  double dStack_178;
  double dStack_170;
  int iStack_168;
  double *pdStack_164;
  int iStack_160;
  int iStack_15c;
  undefined4 uStack_158;
  undefined4 uStack_154;
  int iStack_150;
  int iStack_14c;
  code *pcStack_148;
  undefined4 *puStack_13c;
  int iStack_138;
  int iStack_134;
  int *piStack_12c;
  int iStack_128;
  int iStack_124;
  undefined4 uStack_11c;
  undefined4 uStack_118;
  code *pcStack_114;
  double dStack_110;
  double dStack_108;
  double dStack_100;
  undefined4 uStack_e8;
  int iStack_e4;
  int iStack_e0;
  int *piStack_dc;
  code *pcStack_d8;
  int iStack_d4;
  double dStack_d0;
  code *pcStack_c4;
  double dStack_c0;
  double dStack_b8;
  int iStack_b0;
  int *piStack_ac;
  int iStack_a8;
  undefined4 uStack_a0;
  undefined4 uStack_9c;
  int iStack_98;
  int iStack_94;
  int iStack_84;
  undefined4 uStack_2c;
  int iStack_1c;
  
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003fa620)
              (PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d38,
               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x647,
               PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);
  }
  else if (*(int *)(param_1 + 0x68) == -0x54535255) {
    return *(int *)(param_1 + 100);
  }
  puVar4 = PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d10;
  pcVar17 = FUN_001b5f20;
  puVar15 = PTR___assert_fail_003fa620;
  (*(code *)PTR___assert_fail_003fa620)
            (puVar4,PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2d88,0x648,
             PTR_s_irtualMetacontentFromStream_003f98f8 + -0x2360);
  if (puVar4 == (undefined *)0x0) {
    (**(code **)(puVar15 + 0x244700))
              (*(int *)(puVar15 + 0x2439d8) + -0x2d38,*(int *)(puVar15 + 0x2439d8) + -0x2d88,0x64e,
               *(int *)(puVar15 + 0x2439d8) + -0x2378);
  }
  else if (*(int *)(puVar4 + 0x68) == -0x54535255) {
    return -0x54535255;
  }
  iVar14 = *(int *)(puVar15 + 0x2439d8) + -0x2378;
  iVar12 = 0x64f;
  piVar9 = (int *)(*(int *)(puVar15 + 0x2439d8) + -0x2d88);
  iVar5 = *(int *)(puVar15 + 0x2439d8) + -0x2d10;
  pcVar16 = *(code **)(puVar15 + 0x244700);
  (*pcVar16)();
  pcStack_d8 = pcVar16 + 0x24b8fc;
  dVar21 = (double)CONCAT44(puVar15 + 0x24b990,uStack_2c);
  iStack_84 = **(int **)(pcVar16 + 0x244294);
  dVar19 = *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x4408);
  dVar23 = dVar19 / dVar21 + *(double *)(*(int *)(pcVar16 + 0x24392c) + 0x43c8);
  if (dVar23 <= dVar19) {
    dVar23 = dVar19;
  }
  dVar19 = (double)FUN_001b5f20(iVar5);
  dVar19 = dVar23 * dVar19;
  pdVar10 = (double *)0x1;
  if (dVar19 <= *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0)) {
    pdVar10 = (double *)*piVar9;
  }
  iVar13 = iStack_1c;
  iVar2 = (**(code **)(pcStack_d8 + -0x7074))(iVar12);
  if (iVar2 != 0) {
    if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0) <= dVar19) {
      dVar22 = dVar19 + dVar19 + *(double *)(*(int *)(pcStack_d8 + -0x7fcc) + -0xcc0);
      if (dVar22 < *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) {
        uVar7 = (uint)dVar22;
      }
      else {
        uVar7 = (int)(dVar22 - *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43e0)) | 0x80000000;
      }
      unaff_s5 = FUN_001b06c0(uVar7);
      if (unaff_s5 == 0) goto LAB_001b6148;
      if (dVar23 < 0.0) {
        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4418);
      }
      else {
        dVar22 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);
      }
      if (*(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8) <= dVar23 * dVar22)
      goto LAB_001b6340;
      dVar23 = dVar22 / *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43c8);
    }
    else {
      unaff_s5 = FUN_001b06c0(4);
      if (unaff_s5 == 0) {
LAB_001b6148:
        piVar9 = piVar9 + 0xd0;
        iStack_e0 = *(int *)(pcStack_d8 + -0x7fd0) + 0x6e78;
        iStack_e4 = *(int *)(pcStack_d8 + -0x7fd0) + 0x46c8;
        uStack_e8 = 400;
        iVar14 = 0xdce;
        iVar13 = *(int *)(pcStack_d8 + -0x7fb8) + -0x2870;
        pdVar10 = (double *)(*(int *)(pcStack_d8 + -0x7fb8) + -0x2d88);
        piStack_dc = piVar9;
        (**(code **)(pcStack_d8 + -0x7978))(iStack_1c,pdVar10,iVar13,0xdce);
        iVar2 = 0;
        goto LAB_001b64a0;
      }
      dVar19 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x43d0);
      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408);
LAB_001b6340:
      dVar23 = *(double *)(*(int *)(pcStack_d8 + -0x7fd0) + 0x4408) / dVar23;
    }
    unaff_s7 = (**(code **)(pcStack_d8 + -0x7144))(piVar9,iStack_1c);
    unaff_s8 = (**(code **)(pcStack_d8 + -0x79c4))(iVar12,iStack_1c);
    iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9);
    if ((iVar14 == 4) || (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(piVar9), iVar14 == 3)) {
      iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12);
      if ((iVar14 != 4) && (iVar14 = (**(code **)(pcStack_d8 + -0x73e4))(iVar12), iVar14 != 3))
      goto LAB_001b63c0;
      (**(code **)(pcStack_d8 + -0x775c))(7);
      iVar2 = *(int *)(iVar12 + 0x1c);
      iVar14 = iVar2;
      if (iVar2 < 0) {
        iVar14 = iVar2 + 0x3f;
      }
      if (extraout_v1 < iVar14 >> 6) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        bVar1 = extraout_v1_01 < 2;
      }
      else {
        bVar1 = iVar2 < 0x80;
      }
      iVar13 = 1;
      if ((bool)(bVar1 ^ 1)) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        iVar13 = *(int *)(iVar12 + 0x1c);
        if (iVar13 < 0) {
          iVar13 = iVar13 + 0x3f;
        }
        iVar13 = iVar13 >> 6;
        if (extraout_v1_02 < iVar13) {
          (**(code **)(pcStack_d8 + -0x775c))(7);
          iVar13 = extraout_v1_03;
        }
      }
    }
    else {
LAB_001b63c0:
      uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);
      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
        uVar25 = (**(code **)(pcStack_d8 + -0x775c))(7);
        if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b63dc;
        pcVar16 = *(code **)(pcStack_d8 + -0x775c);
        if ((uint)uVar25 < 2) {
          iVar13 = 1;
          goto LAB_001b63fc;
        }
      }
      else {
LAB_001b63dc:
        pcVar16 = *(code **)(pcStack_d8 + -0x775c);
      }
      uVar25 = (*pcVar16)(7);
      if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
        (**(code **)(pcStack_d8 + -0x775c))(7);
        iVar13 = extraout_v1_00;
      }
      else {
        iVar13 = 2;
      }
    }
LAB_001b63fc:
    iStack_94 = 1;
    iVar14 = 0;
    pdVar10 = &dStack_d0;
    dStack_d0 = dVar21;
    pcStack_c4 = pcVar17;
    dStack_c0 = dVar23;
    dStack_b8 = dVar19;
    iStack_b0 = iVar5;
    piStack_ac = piVar9;
    iStack_a8 = iVar12;
    uStack_a0 = unaff_s7;
    uStack_9c = unaff_s8;
    iStack_98 = unaff_s5;
    (**(code **)(pcStack_d8 + -0x7700))(*(int *)(pcStack_d8 + -0x7d54) + 0x7c6c,pdVar10,iVar13,0);
    iVar2 = iStack_94;
    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s8);
    (**(code **)(pcStack_d8 + -0x79a4))(unaff_s7);
    FUN_001b05f0(unaff_s5);
  }
LAB_001b64a0:
  if (iStack_84 == **(int **)(pcStack_d8 + -0x7668)) {
    return iVar2;
  }
  pcVar16 = *(code **)(pcStack_d8 + -0x7834);
  pcVar18 = FUN_001b64fc;
  iVar6 = iStack_84;
  (*pcVar16)();
  pcVar17 = pcStack_d8;
  dVar22 = (double)CONCAT44(uStack_e8,iStack_e4);
  puStack_13c = (undefined4 *)**(undefined4 **)(pcVar16 + 0x243d4c);
  dVar20 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);
  dVar24 = dVar20 / dVar22 + *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);
  if (dVar24 <= dVar20) {
    dVar24 = dVar20;
  }
  iStack_138 = iVar2;
  iStack_134 = iVar12;
  piStack_12c = piVar9;
  iStack_128 = iVar5;
  iStack_124 = unaff_s5;
  uStack_11c = unaff_s7;
  uStack_118 = unaff_s8;
  pcStack_114 = pcVar18;
  dStack_110 = dVar23;
  dStack_108 = dVar21;
  dStack_100 = dVar19;
  dVar21 = (double)FUN_001b5f20(iVar6);
  dVar21 = dVar24 * dVar21;
  uVar11 = 1;
  if (dVar21 <= *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0)) {
    uVar11 = *(undefined4 *)pdVar10;
  }
  iVar12 = iStack_d4;
  iVar5 = (**(code **)(pcVar16 + 0x244340))(iVar13,uVar11,iStack_d4);
  if (iVar5 == 0) goto LAB_001b69e8;
  if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0) <= dVar21) {
    dVar23 = dVar21 + dVar21 + *(double *)(*(int *)(pcVar16 + 0x2433e8) + -0xcc0);
    if (dVar23 < *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) {
      uVar7 = (uint)dVar23;
    }
    else {
      uVar7 = (int)(dVar23 - *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43e0)) | 0x80000000;
    }
    iVar2 = FUN_001b06c0(uVar7);
    if (iVar2 == 0) goto LAB_001b6690;
    if (dVar24 < 0.0) {
      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4418);
    }
    else {
      dVar23 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);
    }
    if (*(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8) <= dVar24 * dVar23) goto LAB_001b6888;
    dVar24 = dVar23 / *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43c8);
  }
  else {
    iVar2 = FUN_001b06c0(4);
    if (iVar2 == 0) {
LAB_001b6690:
      iVar14 = 0xcf4;
      iVar12 = *(int *)(pcVar16 + 0x2433fc) + -0x28a4;
      (**(code **)(pcVar16 + 0x243a3c))
                (iStack_d4,*(int *)(pcVar16 + 0x2433fc) + -0x2d88,iVar12,0xcf4,400,
                 *(int *)(pcVar16 + 0x2433e4) + 0x46c8,*(int *)(pcVar16 + 0x2433e4) + 0x6e78,
                 pdVar10 + 0x68);
      iVar5 = 0;
      goto LAB_001b69e8;
    }
    dVar21 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x43d0);
    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408);
LAB_001b6888:
    dVar24 = *(double *)(*(int *)(pcVar16 + 0x2433e4) + 0x4408) / dVar24;
  }
  uVar11 = (**(code **)(pcVar16 + 0x244270))(pdVar10,iStack_d4);
  uVar3 = (**(code **)(pcVar16 + 0x2439f0))(iVar13,iStack_d4);
  iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10);
  if ((iVar5 == 4) || (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(pdVar10), iVar5 == 3)) {
    iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13);
    if ((iVar5 != 4) && (iVar5 = (**(code **)(pcVar16 + 0x243fd0))(iVar13), iVar5 != 3))
    goto LAB_001b6908;
    (**(code **)(pcVar16 + 0x243c58))(7);
    iVar12 = *(int *)(iVar13 + 0x18);
    iVar5 = iVar12;
    if (iVar12 < 0) {
      iVar5 = iVar12 + 0x3f;
    }
    if (extraout_v1_04 < iVar5 >> 6) {
      (**(code **)(pcVar16 + 0x243c58))(7);
      bVar1 = extraout_v1_06 < 2;
    }
    else {
      bVar1 = iVar12 < 0x80;
    }
    iVar12 = 1;
    if ((bool)(bVar1 ^ 1)) {
      (**(code **)(pcVar16 + 0x243c58))(7);
      iVar12 = *(int *)(iVar13 + 0x18);
      if (iVar12 < 0) {
        iVar12 = iVar12 + 0x3f;
      }
      iVar12 = iVar12 >> 6;
      if (extraout_v1_07 < iVar12) {
        (**(code **)(pcVar16 + 0x243c58))(7);
        iVar12 = extraout_v1_08;
      }
    }
  }
  else {
LAB_001b6908:
    uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);
    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
      uVar25 = (**(code **)(pcVar16 + 0x243c58))(7);
      if ((int)((ulonglong)uVar25 >> 0x20) != 0) goto LAB_001b6924;
      pcVar18 = *(code **)(pcVar16 + 0x243c58);
      if ((uint)uVar25 < 2) {
        iVar12 = 1;
        goto LAB_001b6944;
      }
    }
    else {
LAB_001b6924:
      pcVar18 = *(code **)(pcVar16 + 0x243c58);
    }
    uVar25 = (*pcVar18)(7);
    if (((int)((ulonglong)uVar25 >> 0x20) == 0) && ((uint)uVar25 < 2)) {
      (**(code **)(pcVar16 + 0x243c58))(7);
      iVar12 = extraout_v1_05;
    }
    else {
      iVar12 = 2;
    }
  }
LAB_001b6944:
  pcStack_148 = pcVar17;
  iStack_15c = iStack_d4;
  piStack_17c = piStack_dc;
  iStack_180 = iStack_e0;
  iStack_14c = 1;
  iVar14 = 0;
  dStack_188 = dVar22;
  dStack_178 = dVar24;
  dStack_170 = dVar21;
  iStack_168 = iVar6;
  pdStack_164 = pdVar10;
  iStack_160 = iVar13;
  uStack_158 = uVar11;
  uStack_154 = uVar3;
  iStack_150 = iVar2;
  (**(code **)(pcVar16 + 0x243cb4))(*(int *)(pcVar16 + 0x243678) + -0x7bac,&dStack_188,iVar12,0);
  iVar5 = iStack_14c;
  (**(code **)(pcVar16 + 0x243a10))(uVar3);
  (**(code **)(pcVar16 + 0x243a10))(uVar11);
  FUN_001b05f0(iVar2);
LAB_001b69e8:
  if (puStack_13c == (undefined4 *)**(int **)(pcVar16 + 0x243d4c)) {
    return iVar5;
  }
  pcVar17 = *(code **)(pcVar16 + 0x243b80);
  puVar8 = puStack_13c;
  (*pcVar17)();
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x1a] == -0x54535255) {
      dVar21 = ABS((double)CONCAT44(iVar12,iVar14)) / *(double *)(puVar8 + 8);
      if ((*(double *)(*(int *)(pcVar17 + 0x242e9c) + 0x43c8) <= *(double *)(puVar8 + 4)) &&
         ((code *)puVar8[1] != (code *)(*(int *)(pcVar17 + 0x243118) + -0x24f0))) {
        (*(code *)puVar8[1])(dVar21 * *(double *)(puVar8 + 6));
      }
      iVar5 = (*(code *)*puVar8)(dVar21);
      return iVar5;
    }
    iVar5 = (**(code **)(pcVar17 + 0x243bdc))
                      (*(int *)(pcVar17 + 0x242eb4) + -0x2d10,*(int *)(pcVar17 + 0x242eb4) + -0x2d88
                       ,0x67a,*(int *)(pcVar17 + 0x242eb4) + -0x2390);
    return iVar5;
  }
  iVar5 = (**(code **)(pcVar17 + 0x243bdc))
                    (*(int *)(pcVar17 + 0x242eb4) + -0x2d38,*(int *)(pcVar17 + 0x242eb4) + -0x2d88,
                     0x679,*(int *)(pcVar17 + 0x242eb4) + -0x2390,pcVar17 + 0x24ae6c);
  return iVar5;
}

